Middle
O que é o deployment Blue-Green?
sobes.tech IA
Resposta da IA
A implementação azul-verde é uma estratégia de lançamento de novas funcionalidades com um tempo de inatividade mínimo, baseada na manutenção de dois ambientes idênticos: "azul" (versão atual em funcionamento) e "verde" (nova versão).
Algoritmo:
- Existe um ambiente "azul" ativo que gerencia todo o tráfego.
- A nova versão da aplicação é implantada em um ambiente "verde" completamente idêntico, mas inativo.
- Após testes bem-sucedidos no ambiente "verde", o tráfego é redirecionado para este.
- O ambiente "azul" é mantido para uma reversão rápida ou pode ser usado para futuros implantes.
Vantagens principais:
- Tempo de inatividade mínimo: A troca de tráfego é quase instantânea.
- Reversão simples: Em caso de problemas com a nova versão, o tráfego é facilmente redirecionado de volta ao ambiente "azul".
- Menor risco: A nova versão é testada em um ambiente isolado antes de alterar o tráfego.
Desvantagens:
- Recursos duplos: São necessários recursos para manter dois ambientes completos.
- Gestão do estado: Pode ser difícil gerenciar o estado da aplicação se ela usar um banco de dados com mudanças constantes.
Exemplo de troca de tráfego usando um balanceador de carga:
// Configuração do balanceador (simplificada)
{
"listeners": [
{
"port": 80,
"protocol": "HTTP",
"default_actions": [
{
"type": "forward",
"target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN do grupo de instâncias do ambiente "azul"
}
]
}
]
}
# Comando para trocar o tráfego para o ambiente "verde"
# (exemplo para AWS CLI, assumindo que o ARN do novo grupo alvo está disponível)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN do grupo de instâncias do ambiente "verde"