DevOps e Entrega Contínua
DevOps e entrega contínua são práticas que unificam o desenvolvimento e as operações de software através da automação, feedback rápido e um pipeline de implantação que mantém o software em um estado continuamente liberável.
Definition
DevOps é um conjunto de práticas culturais e técnicas que integram o desenvolvimento de software e as operações de TI para encurtar o ciclo de entrega, enquanto a entrega contínua é a disciplina de engenharia de automatizar a construção, teste e implantação para que o software possa ser lançado de forma confiável a qualquer momento.
Scope
Este tópico abrange pipelines de integração contínua e entrega/implantação contínua; automação de construção, teste e lançamento; infraestrutura como código; gerenciamento de configuração; monitoramento e observabilidade; a colaboração cultural entre desenvolvimento e operações; e métricas como frequência de implantação, tempo de espera, taxa de falha de mudança e tempo médio para recuperação.
Core questions
- Como um pipeline de implantação automatiza o caminho do commit à produção?
- Que práticas mantêm o software continuamente liberável, preservando a qualidade?
- Como a integração contínua, entrega e implantação diferem?
- Quais métricas indicam de forma confiável o desempenho da entrega de software?
Key theories
- Pipeline de implantação
- Cada mudança flui através de um pipeline automatizado de construção, testes automatizados e implantação em estágios, fornecendo feedback rápido e garantindo que qualquer versão que passe seja candidata a lançamento.
- As Três Maneiras do DevOps
- Os princípios de Kim descrevem a otimização do fluxo do desenvolvimento para as operações, a amplificação dos ciclos de feedback e o fomento de uma cultura de experimentação e aprendizado contínuos como base de organizações de tecnologia de alto desempenho.
- Métricas de desempenho de entrega DORA
- A pesquisa identifica quatro métricas-chave — frequência de implantação, tempo de espera para mudanças, taxa de falha de mudança e tempo para restaurar o serviço — que distinguem estatisticamente organizações de entrega de software de alto e baixo desempenho.
Clinical relevance
DevOps e entrega contínua encurtam os ciclos de lançamento de meses para horas, reduzem o risco de implantação através da automação e de pequenos lotes, e melhoram tanto a estabilidade quanto o rendimento; estudos empíricos ligam essas práticas a um melhor desempenho organizacional.
Evidence & guidelines
Os relatórios anuais do State of DevOps e o programa de pesquisa Accelerate fornecem evidências empíricas de que as práticas de entrega contínua se correlacionam com a entrega de software e o desempenho organizacional.
History
O termo DevOps surgiu por volta de 2009 a partir dos movimentos de administração de sistemas ágeis e infraestrutura como código, buscando quebrar a barreira entre desenvolvimento e operações. Humble e Farley codificaram a entrega contínua em 2010, e pesquisas empíricas subsequentes formalizaram as métricas que distinguem equipes de alto desempenho.
Debates
- Implantação contínua versus entrega contínua
- É debatido se cada mudança aprovada deve ser implantada automaticamente em produção (implantação contínua) ou aguardar uma decisão manual de lançamento (entrega contínua); a resposta depende da tolerância ao risco, do contexto regulatório e da maturidade da verificação automatizada.
Key figures
- Jez Humble
- David Farley
- Gene Kim
- Nicole Forsgren
- Patrick Debois
Related topics
Seminal works
- humble2010
- kim2016
- forsgren2018
Frequently asked questions
- Qual é a diferença entre entrega contínua e implantação contínua?
- Na entrega contínua, toda mudança que passa pelo pipeline é liberável, mas a decisão de implantar em produção é uma ação humana deliberada; na implantação contínua, essa etapa final também é automatizada, de modo que cada mudança aprovada é lançada automaticamente.
- DevOps é um papel ou uma prática?
- DevOps é principalmente um conjunto de práticas culturais e técnicas que abrangem desenvolvimento e operações, não um único cargo; tratá-lo como meramente um papel de operações renomeado perde sua ênfase na propriedade compartilhada e na automação.