Skip to content
Latchkey

O Que É uma Deployment Strategy?

Uma deployment strategy é o método que você usa para lançar uma nova versão de software, escolhido para controlar risco e downtime.

Existe mais de uma forma de substituir uma versão em execução por uma nova. A estratégia que você escolhe determina quanto risco você assume, com que rapidez pode se recuperar, e se os usuários percebem. Escolher bem é o que torna os deploys em produção seguros.

O que é

Uma deployment strategy é o plano de como uma nova versão assume o lugar da antiga: de uma só vez, gradualmente, ou lado a lado. Estratégias diferentes trocam velocidade, custo de recursos e risco. O objetivo geralmente é limitar quantos usuários são expostos a um release ruim e quão rápido você pode desfazê-lo.

Estratégias comuns

  • Recreate: pare a versão antiga, inicie a nova (simples, mas causa downtime).
  • Rolling: substitua as instâncias gradualmente, algumas de cada vez.
  • Blue-green: rode dois ambientes e alterne o tráfego entre eles.
  • Canary: envie primeiro uma pequena fatia de tráfego para a nova versão.

Um exemplo

Uma equipe usa uma estratégia canary: a nova versão recebe 5 por cento do tráfego enquanto o restante permanece na antiga. O monitoramento observa as taxas de erro por dez minutos. Sem ver regressão, a equipe transfere o tráfego restante. Se os erros tivessem disparado, apenas 5 por cento dos usuários teriam sido afetados.

Por que a escolha importa

A estratégia controla diretamente seu blast radius, quanto dano um deploy ruim pode causar, e sua velocidade de recuperação. Recreate é a mais simples, mas a mais arriscada; canary e blue-green custam mais, mas contêm falhas e permitem rollback quase instantâneo. Ajustar a estratégia ao quão crítico o serviço é, é uma decisão-chave de confiabilidade.

Do que as estratégias dependem

Estratégias progressivas dependem de health checks, monitoramento e da capacidade de deslocar o tráfego e fazer rollback rapidamente. Elas também assumem que você pode rodar versões novas e antigas lado a lado, o que é mais fácil com serviços stateless e infraestrutura bem gerenciada.

Principais conclusões

  • Uma deployment strategy é como uma nova versão substitui a antiga.
  • Rolling, blue-green e canary limitam o risco de formas diferentes.
  • A escolha controla seu blast radius e a velocidade de recuperação.

Guias relacionados