Implantações azuis/verdes do Amazon ECS
Uma implantação azul/verde é uma metodologia de liberação que reduz o tempo de inatividade e o risco ao executar dois ambientes de produção idênticos chamados azul e verde. Com as implantações azul/verde do Amazon ECS, você pode validar novas revisões de serviços antes de direcionar o tráfego de produção para elas. Essa abordagem fornece uma maneira mais segura de implantar alterações com a capacidade de revertê-las rapidamente, se necessário.
Benefícios
O uso de implantações azul/verde oferece os seguintes benefícios:
-
Reduz o risco por meio de testes com o tráfego de produção antes de mudar para a produção. É possível validar a nova implantação com tráfego de teste antes de direcionar o tráfego de produção para ela.
-
Implementações sem tempo de inatividade. O ambiente de produção permanece disponível durante todo o processo de implantação, garantindo a disponibilidade contínua do serviço.
-
Fácil reversão se forem detectados problemas. Se surgirem problemas com a implantação verde, você poderá reverter rapidamente para a implantação azul sem interrupção prolongada do serviço.
-
Ambiente de teste controlado. O ambiente verde fornece um espaço isolado para testar novos recursos com padrões reais de tráfego antes da implantação completa.
-
Processo de implantação previsível. A abordagem estruturada com estágios de ciclo de vida definidos torna as implantações mais consistentes e confiáveis.
-
Validação automatizada por meio de ganchos do ciclo de vida. É possível implementar testes automatizados em vários estágios da implantação para verificar a funcionalidade.
Terminologia
Confira abaixo os termos de implantação azul/verde do Amazon ECS:
-
Tempo de incorporação: a duração em que as revisões de serviço azul e verde são executadas simultaneamente após a mudança do tráfego de produção.
-
Implantação azul: a revisão atual do serviço de produção que você deseja substituir.
-
Implantação verde: a nova revisão do serviço que você deseja implantar.
-
Estágios do ciclo de vida: uma série de eventos na operação de implantação, como “após a mudança no tráfego de produção”.
-
Gancho do ciclo de vida: uma função do Lambda ou ponto de pausa em um estágio específico do ciclo de vida. Os ganchos do Lambda invocam funções do Lambda que você definiu para executar código personalizado. Os ganchos de pausa pausam a implantação e aguardam você chamar
ContinueServiceDeploymentpara continuar. -
Receptor: um recurso do Elastic Load Balancing que verifica solicitações de conexão usando o protocolo e a porta que você configurou. As regras que você define para um receptor determinam como o Amazon ECS roteia solicitações para seus destinos registrados.
-
Regra: um recurso do Elastic Load Balancing associado a um receptor. Uma regra define como as solicitações são roteadas e consiste em uma ação, condição e prioridade.
-
Grupo de destino: um recurso do Elastic Load Balancing usado para rotear solicitações para um ou mais destinos registrados (por exemplo, instâncias do EC2). Ao criar um listener, especifique um grupo de destino para a ação padrão dele. O tráfego é encaminhado para o grupo de destino especificado na regra do listener.
-
Mudança de tráfego: o processo que o Amazon ECS usa para transferir o tráfego da implantação azul para a implantação verde. Para serviços com balanceador de carga ou Service Connect, o Amazon ECS gerencia automaticamente a mudança de tráfego. Para serviços sem periféricos/sem interface gráfica, o Amazon ECS substitui as tarefas azuis por tarefas verdes, mas não gerencia a mudança de tráfego.
Considerações
Considere o seguinte ao escolher um tipo de implantação:
-
Uso de recursos: as implantações azul/verde executam temporariamente as revisões do serviço azul e verde simultaneamente, o que pode dobrar o uso de recursos durante as implantações.
-
Monitoramento da implantação: as implantações azul/verde fornecem informações mais detalhadas sobre o status da implantação, permitindo que você monitore cada estágio do processo de implantação.
-
Reversão: as implantações azul/verde facilitam a reversão para a versão anterior se forem detectados problemas, pois a revisão azul é mantida em execução até que o tempo de incorporação expire.
-
Hooks do ciclo de vida do Network Load Balancer: se você usar um Network Load Balancer para implantações azul/verde, há um ganho de tempo adicional de 10 minutos para os estágios do ciclo de vida TEST_TRAFFIC_SHIFT e PRODUCTION_TRAFFIC_SHIFT. Isso ocorre porque o Amazon ECS garante que seja seguro mudar o tráfego.