Infraestrutura, nuvem e DevOps · Avançado

Estratégias de deploy: azul-verde, canário e gradual

Em uma linha: Um bom deploy é medido pela capacidade de reverter rapidamente, não pela velocidade de sair.

Três métodos

Azul-verde. Dois ambientes idênticos; você desloca o tráfego de um para o outro, e reverte invertendo o deslocamento. Simples, e requer o dobro dos recursos brevemente.

Canário. Uma pequena porcentagem do tráfego para a nova versão, expansão por métricas. O mais seguro, e requer boa monitoração.

Rolling. Substituir instâncias gradualmente. Um padrão comum, mas o período intermediário roda duas versões juntas — o que exige compatibilidade.

Pré-requisitos

Um health check real que verifica dependências e não só que o processo está vivo; esquema compatível retroativamente; e deploy desacoplado da ativação — você lança código desligado e liga com um switch.

Defina de antemão o que dispara um rollback

Limites de erro, tempo de resposta e taxa de sucesso que acionam um rollback automático. Uma decisão durante um incidente é sempre pior do que uma escrita numa manhã tranquila.

Indo mais fundo

Pratique um rollback enquanto tudo está bem, pelo menos uma vez por trimestre. Um mecanismo nunca exercitado falha exatamente quando precisamos dele, e normalmente por um detalhe pequeno — uma permissão, uma versão de esquema ou um cache não limpo.