O Que É Blue-Green Deployment?
Blue-green deployment roda dois ambientes de produção idênticos e alterna todo o tráfego do antigo para o novo de uma só vez.
Blue-green deployment é uma estratégia construída em torno de alternância instantânea. Você mantém dois ambientes, rotulados blue e green, implanta a nova versão no ocioso, verifica, e então vira o tráfego. Se algo der errado, você vira de volta.
Como funciona
A qualquer momento, um ambiente (digamos blue) está ativo e servindo todo o tráfego, enquanto o outro (green) está ocioso. Você implanta a nova versão em green e a testa enquanto blue continua servindo os usuários. Quando green é verificado, você alterna o roteador para enviar todo o tráfego para green. Blue permanece por perto, pronto como fallback instantâneo.
A vantagem do rollback instantâneo
Como a versão anterior ainda está em execução no ambiente agora ocioso, fazer rollback é apenas virar a chave de volta. Não há rebuild nem redeploy, a recuperação é quase instantânea. Esse é o benefício principal: um release ruim pode ser revertido em segundos.
Um exemplo
Uma equipe implanta a versão 5 no ambiente green enquanto a versão 4 serve os usuários a partir de blue. Eles rodam smoke tests contra green, então alternam o load balancer para green. Os usuários passam para a versão 5 de forma transparente. Uma hora depois surge um problema, então eles viram de volta para blue em segundos enquanto investigam.
Os trade-offs
Blue-green precisa de cerca do dobro da infraestrutura, já que dois ambientes completos existem em torno de um deploy. Também exige cuidado com componentes stateful como bancos de dados, que geralmente são compartilhados e precisam permanecer compatíveis com ambas as versões durante a troca. O custo compra um cutover e rollback rápidos e limpos.
Quando usá-lo
Blue-green combina com serviços onde o downtime é inaceitável e o rollback rápido vale o custo extra, e onde a aplicação é majoritariamente stateless ou sua camada de dados consegue suportar ambas as versões brevemente. Para um controle de risco mais granular, o canary deployment expõe a nova versão a uma pequena fração de usuários primeiro.
Principais conclusões
- Blue-green mantém dois ambientes e alterna o tráfego de uma só vez.
- O rollback é instantâneo: volte para a versão antiga que ainda está em execução.
- Custa infraestrutura extra e exige cuidado com estado compartilhado.