O que é a entrega contínua?

Continuamente, a entrega de valor tornou-se um requisito obrigatório para as organizações. Para entregar valor aos usuários finais, você deve liberar continuamente e sem erros.

Entrega contínua (CD) é o processo de compilar, testar, configurar e implantar automaticamente de um ambiente de build para um ambiente de produção. Um pipeline de lançamento pode criar vários ambientes de teste ou preparo para automatizar a criação da infraestrutura e a implantação de novas compilações. Ambientes sucessivos suportam atividades progressivamente mais longas de integração, carga e testes de aceitação do usuário.

Illustration of how continuous delivery automates the flow to production..

Antes da CD, os ciclos de lançamento de software eram um gargalo para as equipes de aplicativos e operações. Essas equipes geralmente dependiam de transferências manuais que resultavam em problemas durante os ciclos de lançamento. Processos manuais levaram a lançamentos não confiáveis que produziram atrasos e erros.

A CD é uma prática enxuta, com o objetivo de manter a produção atualizada com o caminho mais rápido desde a disponibilidade de novos códigos ou componentes até a implantação. A automação minimiza o tempo de implantação e o tempo de mitigação (TTM) ou o tempo de correção (TTR) de incidentes de produção. Em termos enxutos, a CD otimiza o tempo do processo e elimina o tempo ocioso.

A integração contínua (CI) inicia o processo de CD. O pipeline de lançamento prepara cada ambiente sucessivo para o próximo ambiente após a conclusão bem-sucedida dos testes. O pipeline de lançamento da CD automatizada permite uma abordagem fail-fast à validação, em que os testes com maior probabilidade de falhar são executados rapidamente primeiro, e os testes de execução mais longa acontecem somente depois que os mais rápidos são concluídos com êxito.

As práticas complementares de infraestrutura como código (IaC) e monitoramento facilitam a CD.

Técnicas de exposição progressiva

A CD suporta vários padrões de exposição progressiva, também chamados de "controle do raio de explosão". Essas práticas limitam a exposição a implantações para evitar o risco de problemas com a base geral de usuários.

  • A CD pode sequenciar vários anéis de implantação para exposição progressiva. Um anel tenta uma implantação em um grupo de usuários e monitora sua experiência. O primeiro anel de implantação pode ser um canário para testar novas versões em produção antes de uma distribuição mais ampla. A CD automatiza a implantação de um anel para o outro.

    A implantação no próximo anel pode depender opcionalmente de uma etapa de aprovação manual, em que um tomador de decisão aprova as alterações eletronicamente. A CD pode criar um registro auditável da aprovação para satisfazer procedimentos regulatórios ou outros objetivos de controle.

  • A implantação azul/verde depende de manter uma versão azul atual ativa enquanto uma nova versão verde é implantada. Essa prática normalmente usa o balanceamento de carga para direcionar o crescente aumento de tráfego à implantação verde. Se o monitoramento descobrir um incidente, o tráfego pode ser redirecionado para a implantação azul ainda em execução.

  • Os sinalizadores de recursos ou alternâncias de recursos são outra técnica para experimentação e inicializações escuras. Os sinalizadores de recursos ativam ou desativam recursos para grupos de usuários diferentes de acordo com a identidade e associação ao grupo.

Os pipelines de versão modernos permitem que as equipes de desenvolvimento implantem novos recursos de forma rápida e segura. A CD pode corrigir rapidamente os problemas encontrados na produção avançando com uma nova implantação. Dessa forma, a CD cria um fluxo contínuo de valor para o cliente.

Próximas etapas