Clique para visualizar:

DevOps entenda o que é

O que é DevOps” é uma pergunta mais difícil de se responder do que parece à primeira vista. Mas é possível apontar vários objetivos da prática de DevOps: velocidade e qualidade na entrega de valor, uso extensivo de automação para construção e testes, redução dos períodos em que as aplicações ficam fora do ar (downtimes),  eliminação do atrito entre desenvolvedores e operação e redução do tempo para lidar com falhas.
DevOps tem a meta principal melhorar a integração entre desenvolvedores de softwares e a equipe de infraestrutura. Em uma TI tradicional, a comunicação entre os dois sujeitos ainda é muito difícil: desenvolvedores são cobrados por entregar valor na forma de funcionalidades em aplicações, enquanto a operação (infra) é cobrada por manter a estabilidade do ambiente. Ambos são pressionados pela empresa em direção a esses objetivos, mas em uma TI tradicional eles parecem opostos.

Com o modelo de produção antigo este conflito é uma consequência natural: desenvolvedores têm pouco ou nenhum contato com o ambiente produtivo de suas entregas, assim como o formalismo imposto pelos silos operacionais tornam cada iteração uma repetição de problemas recorrentes.
Mas a prática e ferramental DevOps permitem que essa comunicação seja facilitada, modificando completamente as fronteiras de responsabilidade e favorecendo o trabalho de ambos os times, tornando muito mais fluida a entrega de valor no ambiente de tecnologia dentro de uma empresa.

Como era antes do DevOps?

Para começar a entender o modelo antigo de produção tecnológica, vamos lembrar do nosso ensino médio quando estudamos Revolução Industrial. Existia uma grande demanda por produtos manufaturados e foi necessária uma espécie de esteira de montagem para agilizar o processo.
Essa lógica também foi implementada na construção de software no modelo em cascata, que consistia no levantamento de requisitos, projeto, implementação, teste, implantação e manutenção. Frequentemente  (muito mesmo!) ele gerava problemas de toda ordem.
Um dos problemas é que a tecnologia possui um dinamismo avassalador, que faz com que os requisitos sejam alterados a todo o tempo. Outra dificuldade é que o cliente dificilmente sabe exatamente o que quer quando pede um software – e mesmo quando sabe, frequentemente está errado, pois o que o usuário final realmente precisa pode ser ainda diferente.
Por essa razão, fez-se necessária a criação de metodologias ágeis para conduzir projetos de software, e estas mesmas metodologias demandaram práticas e ferramentas totalmente diferentes das que estavam em uso até então, reordenando completamente as fronteiras que definiam os papéis de desenvolvimento e infraestrutura. Como dissemos no início do texto, não existe uma fórmula mágica de fazer DevOps, mas vamos indicar as práticas mais comuns e suas ferramentas. Confira abaixo!

União DevOps/Agile

Você se lembra quando falamos do problemático modelo de desenvolvimento em cascata? Ao longo dos anos várias outras metodologias foram experimentadas pela indústria de TI. Os métodos ágeis têm a hegemonia atual porque assumem explicitamente que a produção de aplicações é um ciclo contínuo e que o excesso de formalismo na coleta de requisitos é perda de tempo.
A prática DevOps possui algumas diretrizes: Algumas utilizam ferramentas que propiciam colaboração e integração contínua entre Desenvolvimento e Infraestrutura. Elaboramos um esquema abaixo que ilustra de forma resumida a adoção de DevOps, mas ao longo do nosso conteúdo explicaremos melhor pontos interessantes na hora de adotar a prática.