Em posts anteriores, compartilhei o Timeline DevOps com os principais marcos que ajudaram na alavancagem das práticas DevOps, também um resumo da Jornada DevOps e seus principais benefícios. Neste post, vamos abordar conceitos iniciais importantes e como evitar algumas “armadilhas” nas implementações.
O ponto inicial é a definição sobre DevOps. Aqui sempre há confusão em relação ao que será implementado, o problema a ser resolvido, as ferramentas utilizadas (DevOps não é somente uso de ferramentas), etc. É importante começar certo! Abaixo, compartilho a definição O que é DevOps de duas das maiores empresas do mundo – Microsoft e AWS.
O que é DevOps
![]() By Microsoft |
É a união de pessoas, processos e produtos para permitir a entrega contínua de valor aos nossos usuários finais. A contração de “Dev” e “Ops” refere-se à substituição do Desenvolvimento e Operações em silos para criar equipes multidisciplinares que agora trabalham em conjunto com práticas e ferramentas compartilhadas e eficientes. As práticas essenciais do DevOps incluem planejamento ágil, integração contínua, entrega contínua e monitoramento de aplicativos. |
By AWS: é 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 compitam de modo mais eficaz no mercado.
Em resumo, gosto de compartilhar a seguinte visão consolidada sobre DevOps:
Colaboração e comunicação
Melhorar a colaboração e comunicação entre as equipes de Dev e Ops |
Qualidade e segurança
Entrega frequente de valor aos clientes com qualidade e segurança |
O que não é DevOps
E como cada área da organização até então entendia DevOps? Tudo isso (desenho abaixo) representa uma visão muito segmentada, ou parcial, sobre o entendimento de DevOps. Por isso, a visão consolidada (comentada anteriormente) é tão importante. É comum, por exemplo, equipes de desenvolvimento associarem práticas DevOps apenas com a automação de tarefas como de build e release.
Leia mais sobre os três pilares DevOps (Pessoas, Processos e Ferramentas): Link 1 | Link 2 | Link 3.
DevOps Tricks
Entre as principais armadilhas das implementações DevOps estão:
- “I Know DevOps”: como DevOps vai muito além do uso de ferramentas, a cultura organizacional (aprendizado contínuo) e o desenvolvimento do time são essenciais para evitar problemas técnicos e com pessoas (ambiente colaborativo e sem silos).
- “Immigration is a lot like DevOps, you need containers”: outro erro clássico é simplesmente buscar soluções sem antes verificar a aplicabilidade ao seu ambiente ou até mesmo o nível de maturidade do time para utilizá-las.
- “What if I told you, DevOps and Agile are not the same thing”: é comum ver em alguns eventos a associação do ciclo Ágil ao DevOps. É uma combinação que pode funcionar muito bem sim, mas não confunda com um depender do outro.
- “Worked fine in Dev – ops problem now”: o típico erro de gestão de configuração, ambientes e integração contínua. Na máquina do desenvolvedor sempre funciona!
Pipeline de implantação
O termo pipeline é muito utilizado em DevOps, pois é onde está o foco em automatizar os processos e garantir a entrega contínua de aplicações em produção com eficiência e confiabilidade. Em geral, o processo na empresa para lançamento de um produto (ou nova funcionalidade) é:
- Visão do produto: o que é esta nova funcionalidade
- Time de Dev: realizar o desenvolvimento iterativo e incremental de uma nova versão a cada iteração
- Área de operação: implementação e manutenção
- Geração de valor para o cliente
O Fluxo de valor cobre desde a concepção do produto até a geração de valor para a empresa. A última milha é extremamente importante neste contexto, pois considera aspectos da entrega do produto, tais como a configuração de ambientes e automação de testes.
As práticas DevOps são essenciais para criar o pipeline de implantação, disponibilizando novas versões de software o tempo todo ao cliente. O Feedback contínuo vai guiando a estratégia da empresa, eliminando barreiras entre os departamentos. Isso permite a colaboração entre as pessoas para gerar valor ao cliente.
Antipatterns DevOps
Antipatterns do Deploy Manual
|
|
Antipatterns de Gestão da Configuração Manual
![]() Continuous Delivery (Jez Humble David Farley) |
“In software, when something is painful, the way to reduce the pain is to do it more frequently, not less. So instead of integrating infrequently, we should integrate frequently”. |