O modelo de implantação de entrega contínua
- 4 minutos
Você aprendeu sobre as diversas desvantagens da "implantação épica" como modelo de entrega de software, mas saber o que não funciona bem é apenas metade da batalha. Nesta unidade, você descobrirá a alternativa a esse método monolítico e como ele pode aumentar ainda mais a sua meta de confiabilidade aprimorada.
O que é a entrega contínua?
A entrega contínua é um método pelo qual você pode disponibilizar alterações de software para uso de maneira mais rápida, menos estressante, menos arriscada e mais reproduzível. Em vez de fazer cada implantação de software ou atualizar um evento épico, a entrega contínua procura transformá-la em uma experiência rápida, rotineira e previsível que ocorre sob demanda.
Frequência de implantação: com um modelo de entrega contínua, as implantações ocorrem com frequência. Muitas vezes, elas podem ser mensais, semanais, diárias e, até mesmo, a cada hora. A chave é que você implanta alterações menores e mais focadas, com mais frequência.
Iniciado por confirmação de código: em vez de serem agendadas com muita antecedência, as implantações ocorrem à medida que o código é confirmado. Esse código pode ser um software, uma infraestrutura ou, até mesmo, itens como configurações de software.
Teste automatizado: você pode usar testes automatizados integrados não apenas para testar o código, mas também para fornecer comentários rápidos sobre os resultados desses testes. São esses comentários rápidos que permitem fazer iterações e se recuperar rapidamente de testes com falha.
Depois que o código for testado, você poderá testar a implantação, de ponta a ponta, em uma série de ambientes preparados, como teste, QA etc. A distribuição das suas implantações por meio desses ambientes torna-se uma parte integrada da experiência de implantação.
Registros históricos: além de desejar um registro histórico de atividades de implantação, você também deseja ser capaz de reconciliar seu ambiente de produção a qualquer momento. Você deseja entender a implantação que criou o ambiente de produção atual. Com esse conhecimento, você pode rastrear itens como configurações, resultados de testes e o próprio código até a pull request individual que disparou a implantação.
Metas de implantação
Agora que você sabe como a entrega contínua funciona, considere as metas que você pode alcançar usando práticas de DevOps como essas para implantar soluções de software.
Meta 1: Reduzir a tensão envolvida na implantação de serviços e aumentar a confiabilidade desses serviços
Essa é uma vitória para todos: além de aumentar a satisfação com o trabalho reduzindo a tensão envolvida em implantações de software e de infraestrutura, você também aumenta a satisfação com o trabalho e a satisfação do usuário final tornando seus sistemas mais confiáveis. Devido a esse impacto positivo sobre a experiência do cliente, tecnicamente, essa é realmente uma vitória para todos.
Meta 2: Reduzir o tempo entre o momento em que você sabe que uma alteração é necessária e quando essa alteração é implantada em produção
Por exemplo, suponha que você tenha identificado um defeito no código com impacto na receita. Você sabe exatamente qual é o problema e como codificar a correção. Quanto tempo levará para colocar esse código em produção? De quantas strings você precisará efetuar pull? Como você testará o código? Com as práticas de DevOps, você pode fazer commit do código, almoçar e receber uma notificação informando que o problema foi resolvido antes de retornar à sua mesa.
Meta 3: Reduzir o tempo entre ter uma ideia e entregar um software utilizável
Isso é muito semelhante à meta anterior, mas em vez de implementar alterações, estamos falando sobre inovação pura. Quanto tempo levará para que você agilize a inovação? Com esse modelo de implantação, você pode integrar um novo conceito a um sistema de produção e ter a confiança de que a inovação adicionada não atrapalhará o sistema atual de modo algum. Com essa confiança, você pode entregar rapidamente o novo recurso.
Resultados da implantação
As metas discutidas nesta unidade não são apenas aspirações teóricas, são alcançáveis. Estas são algumas estatísticas do relatório Accelerate State of DevOps report de 2019 da DevOps Research and Assessment (DORA) e do Google Cloud DevOps &SRE. Nele, foi descoberto que as empresas de DevOps "de alto desempenho":
- Têm 208 vezes mais implantações.
- São 106 vezes mais rápidas do commit à implantação.
- Têm uma taxa de falha de alteração 7 vezes mais baixa.
- Têm um tempo de recuperação de incidentes 2.604 vezes mais rápido.
Tudo isso leva a um aumento da receita e a uma comercialização mais rápida.
Esses números validam a ideia de que as práticas de implantação são importantes.