DevOps: desafios além do código!
O DevOps se tornou um dos termos mais discutidos entre as empresas de tecnologias dos últimos anos. Seja pelo hype, ferramentas, cargos ou pela promessa de tornar seu produto mais ágil, performático, e, ao final, seu cliente mais satisfeito
Mas, além disso, de um ponto de vista teórico, o que mais temos para dizer do DevOps? Certamente, há muito o que se falar. Tentaremos, de maneira resumida, falar um pouco da literatura por trás deste tema tão importante.
Definição do DevOps
Dentre as várias definições e termos que existem para descrever o DevOps, destaco a minha preferida,atribuída a Amazon:
“O DevOps é a combinação de filosofias culturais, práticas e ferramentas que aumentam a capacidade de uma empresa de distribuir aplicativos e serviços em alta velocidade: otimizando e aperfeiçoando produtos em um ritmo mais rápido do que o das empresas que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura. Essa velocidade permite que as empresas atendam melhor aos seus clientes e consigam competir de modo mais eficaz no mercado.”
Essa é uma definição relativamente simples, mas que resume bem o que é trabalhar com DevOps (ou, poderíamos dizer, trabalhar à maneira DevOps).
Algumas métricas DevOps
Segundo o “State of DevOps – Marketing Segmentation Report (2019)”, criado pela Puppet, times de alta performance que praticam o DevOps na íntegra, têm as seguintes métricas:
- Frequência de implantações 46x maior;
- Tempo médio de recuperação 96x maior;
- Lead Time do commit ao deploy 440x mais rápido;
- Taxa de Falha 5x menor;
“Dev + Ops” ou “Dev vs Ops”?
Desde os primórdios do processo de desenvolvimento de software, podemos dizer, de forma cômica, que uma batalha épica vem sendo travada entre dois mundos.
De um lado, desenvolvedores e programadores (Dev) com algumas tarefas a cumprir:
- Gerar valor para o negócio com novas funcionalidades a serem desenvolvidas a todo vapor, ou seja, requisitos funcionais.
Do outro lado, a equipe de infraestrutura e arquitetura (Ops), também possuindo uma difícil missão:
- Proteger e sustentar o valor do negócio, que cresce a nível frenético, ou seja, requisitos não funcionais.
Certamente, todos nós, profissionais, buscamos a primeira opção informada no título: “Dev + Ops”. E, para alcançarmos o melhor resultado com essa união, o DevOps prega alguns pilares. Veremos um pouco sobre eles a seguir:
Os Pilares DevOps
Dentre os vários conceitos que existem quando falamos de DevOps, podemos destacar:
- Comunicação;
- Colaboração;
- Automação;
- Monitoração.
Comunicação e Colaboração
De forma resumida, dentro destes temas, algumas disciplinas aparecem, como:
- Visibilidade: informar os estados do software a quem é de direito;
- Rastreabilidade: identificação do processo de ponta-a-ponta (do levantamento de requisitos ao deploy);
- Compartilhamento de conhecimento: difundir conhecimento entre as mais diversas áreas.
Automação
Dentro de automação, podemos destacar:
- Infra as a Code: provisionamento automatizado de recursos de infraestrutura;
- Feedbacks constantes: aprendizagem e agilidade nos ajustes;
- E tudo mais que possa ser automatizado a fim de evitar retrabalho.
Monitoração
Para finalizar, aqui podemos destacar alguns pontos que a monitoração nos ajuda:
- Rastreamento: resgate de histórico para investigação e solução de problemas;
- Alertas: proatividade na resolução de possíveis problemas;
- Compartilhamento da saúde das aplicações.
Outros pontos importantes de serem destacados são:
- Os times precisam entender do negócio para que um monitoramento efetivo seja feito. Um dashboard que emite um alerta e ninguém verifica não é nada funcional e nem deveria existir;
- Proatividade ao invés de reatividade: podemos sim ser proativos a ponto de entender que algo está acontecendo e agir antes que o cliente sinta o efeito colateral. É um trabalho árduo, mas possível!
Conclusão
Os desafios para a implantação de uma cultura DevOps são grandes. No entanto, tendo em mente pontos como colaboração, aprendizagem contínua, feedback e segurança, podemos colocar nossas aplicações em um patamar muito elevado!
Em breve teremos mais artigos sobre a literatura DevOps!
Gostou de aprender um pouquinho mais sobre esse tema?
Confira mais conteúdos como esse em nosso Blog!