O Que É Canary Deployment?
Canary deployment lança uma nova versão para uma pequena fração de usuários primeiro, a observa, e só então a implanta para todos.
O nome vem dos canários nas minas de carvão: um alerta precoce. Um canary deployment expõe uma nova versão a uma pequena fatia de tráfego real, então se algo estiver errado, apenas alguns usuários são afetados e você descobre antes de lançar para todos.
Como funciona
Você implanta a nova versão ao lado da antiga e roteia uma pequena porcentagem de tráfego, digamos 1 a 5 por cento, para ela: o canary. Você observa métricas como taxa de erro e latência. Se o canary parecer saudável, você aumenta gradualmente sua fatia até que sirva todo o tráfego. Se não, você o recolhe.
Como o rollout progride
- Implante a nova versão ao lado da atual.
- Roteie uma pequena fatia de tráfego para a nova versão.
- Monitore erros, latência e métricas-chave.
- Aumente gradualmente a porcentagem se estiver saudável.
- Faça rollback instantaneamente se as métricas degradarem.
Um exemplo
Um novo serviço de checkout é lançado como canary em 2 por cento do tráfego. Em minutos, o monitoramento mostra uma taxa de erro maior no canary. Como apenas 2 por cento dos usuários foram afetados, a equipe faz rollback com impacto mínimo, corrige o bug e tenta de novo, sem uma queda generalizada.
Por que o monitoramento é essencial
Um canary só é útil se você estiver observando os sinais certos. Toda a estratégia depende de detectar um release ruim a partir da pequena amostra antes de ampliá-lo. Isso significa boas métricas, comparação automatizada entre canary e baseline, e a capacidade de parar ou fazer rollback automaticamente quando os limites são ultrapassados.
Canary versus blue-green
Blue-green alterna todo o tráfego de uma só vez (instantâneo, mas todos se movem juntos); canary move o tráfego gradualmente (mais lento, mas limita a exposição em cada passo). Canary dá controle mais fino sobre o risco, enquanto blue-green dá o rollback instantâneo mais limpo. Muitas equipes combinam ideias de ambos.
Principais conclusões
- Canary deployment expõe uma nova versão a uma pequena fatia primeiro.
- Métricas saudáveis disparam um aumento gradual; métricas ruins disparam rollback.
- Seu valor depende de um bom monitoramento do canary.