Use a Entrega Contínua para liberar mais rapidamente, com custos e riscos menores
A Entrega Contínua é um dos oito recursos da taxonomia de DevOps.
Descubra porque a Entrega Contínua é necessária
Em 2012, um erro de implantação de software resultou em uma perda de US$ 460 milhões para o Knight Capital Group, o maior trader de ações dos EUA na época.
As perdas começaram quando o mercado abriu. Não havia bugs no código – o problema foi causado por um erro que foi feito durante uma implantação manual em apenas um de seus oito servidores de produção.
Quando eles tentaram consertá-lo, todos os oito servidores acabaram mal configurados – então eles perderam ainda mais dinheiro. Como toda a implantação era manual, eles não tinham como reverter automaticamente as alterações.
Depois de tentar corrigir o problema por 45 minutos, eles finalmente desligaram todo o sistema. Nesse período, tinham perdido 460 milhões de dólares.
Esta é uma história real. Qual seria o impacto na sua organização? Você está fazendo a implantação manual?
Talvez a pergunta mais importante a ser feita para ajudar a entender o desempenho da entrega em uma organização seja:
Importante
Qual é o tamanho do seu problema de implantação para a produção?
O medo e a ansiedade que os engenheiros e a equipe técnica sentem quando empurram o código para a produção podem nos dizer muito sobre o desempenho de entrega de software de uma equipe.
O que é Entrega Contínua?
Importante
A Entrega Contínua é uma abordagem de engenharia de software em que as equipas produzem software em ciclos curtos, garantindo que o software pode ser:
- Liberado de forma confiável a qualquer momento
- Liberado manualmente
O objetivo da Entrega Contínua é:
- Crie, teste e libere software com maior velocidade e frequência
- Reduza o custo, o tempo e o risco de fornecer alterações, permitindo mais atualizações incrementais para aplicativos em produção
A Entrega Contínua acontece quando:
- O software pode ser implantado durante todo o seu ciclo de vida
- A integração contínua, bem como a automação extensiva, estão disponíveis em todas as partes possíveis do processo de entrega, normalmente usando um pipeline de implantação
- É possível realizar implantações por botão de qualquer versão do software em qualquer ambiente sob demanda
Grandes implantações manuais criam um alto nível de risco, aumentando drasticamente a complexidade do software que está sendo lançado, introduzindo a probabilidade de erro humano e tornando mais difícil identificar e corrigir falhas de implantação. A frequência de implantação é baixa, o tempo de espera para alterações é alto, o tempo médio de recuperação é longo e você tem uma alta taxa de falha de alterações.
Uma equipe de operações designada realiza a implantação manual fora do horário comercial. Eles precisam de um documento de etapas manuais e tempo para testar as etapas documentadas manualmente. Implantações grandes também levam mais tempo para serem executadas, são mais difíceis de reverter se falharem e envolvem um escopo de teste maior após a implantação. O número de alterações por implantação é maior e o feedback leva mais tempo para ser implementado.
Ao automatizar o processo e permitir a capacidade de liberar para a produção a qualquer momento, os benefícios da Entrega Contínua são significativos e numerosos:
- Menos resíduos
- ROI mais rápido
- Menor risco
- Maior qualidade
- Feedback antecipado
- Melhor planeamento
- Colaboração mais rápida
- Todos estão envolvidos
- Menos problemas de produção
- Capacidade de virar para a esquerda na segurança
- Adapte-se e reaja muito mais rapidamente
- Lançamentos muito mais previsíveis
- Implante em qualquer horário comercial
- Resposta mais rápida às mudanças do mercado
- Alteração entregue sem atraso significativo
- Qualquer pessoa da equipe pode iniciar implantações
- Implantações rápidas, repetíveis e configuráveis
De acordo com o 2019 State of DevOps Report, as organizações de DevOps de alto desempenho quando comparadas com as de baixo desempenho conseguem:
- Implantações mais de 200 vezes mais frequentes
- Prazo de entrega de alterações mais de 100 vezes mais rápido
- Tempo médio de recuperação mais de 2600 vezes mais rápido
- Taxa de falha de alteração sete vezes menor
Além disso, de acordo com um estudo global da CA Technologies, as organizações percebem até 20% de melhoria no tempo de comercialização e aumento de receita.
Nota
A Entrega Contínua às vezes é confundida com a Implantação Contínua. A implantação contínua significa que todas as alterações passam pelo pipeline e são automaticamente colocadas em produção, resultando em muitas implantações de produção todos os dias. A Entrega Contínua significa apenas que você pode fazer implantações frequentes, mas pode optar por não fazê-lo, geralmente devido às empresas preferirem uma taxa mais lenta de implantação. Você deve estar fazendo a Entrega Contínua para fazer a Implantação Contínua.
A Integração Contínua é um pré-requisito para a Entrega Contínua. As práticas em vigor permitem criar e implantar (de forma confiável) o aplicativo a qualquer momento e com alta qualidade, a partir do controle do código-fonte.