

# Implantações lineares do Amazon ECS
<a name="deployment-type-linear"></a>

As implantações lineares transferem gradualmente o tráfego da revisão de serviço antiga para a nova em incrementos iguais ao longo do tempo, permitindo que você monitore cada etapa antes de prosseguir para a próxima. Com as implantações lineares do Amazon ECS, controle o ritmo da mudança de tráfego e valide novas revisões de serviços com quantidades crescentes de tráfego de produção. Essa abordagem fornece uma maneira controlada de implantar alterações com a capacidade de monitorar a performance a cada incremento.

## Recursos envolvidos em uma implantação linear
<a name="linear-deployment-resources"></a>

Veja a seguir os recursos envolvidos nas implantações lineares do Amazon ECS:
+ Mudança de tráfego: o processo que o Amazon ECS usa para transferir o tráfego de produção. Para implantações lineares do Amazon ECS, o tráfego é deslocado em incrementos percentuais iguais com tempos de espera configuráveis entre cada incremento.
+ Porcentagem da etapa: a porcentagem do tráfego a ser deslocado em cada incremento durante uma implantação linear. Esse campo usa Dobro como valor, e os valores válidos vão de 3,0 a 100,0.
+ Tempo de incorporação da etapa: a duração da espera entre cada incremento de mudança de tráfego durante uma implantação linear. Os valores válidos vão de 0 a 1.440 minutos.
+ Tempo de incorporação da implantação: o tempo, em minutos, que o Amazon ECS espera após transferir todo o tráfego de produção para a nova revisão de serviço, antes de encerrar a revisão antiga. Essa é 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.
+ 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 `ContinueServiceDeployment` para continuar. Ganchos configurados para `PRODUCTION_TRAFFIC_SHIFT` ou `PRE_PRODUCTION_TRAFFIC_SHIFT` são invocados em cada etapa de mudança de tráfego de produção.
+ 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.
+ 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.

## Considerações
<a name="linear-deployment-considerations"></a>

Considere o seguinte ao escolher um tipo de implantação:
+ Uso de recursos: as implantações lineares executam temporariamente as revisões de serviços azul e verde simultaneamente, o que pode dobrar o uso de recursos durante as implantações.
+ Monitoramento da implantação: as implantações lineares fornecem informações mais detalhadas sobre o status da implantação, permitindo que você monitore cada estágio do processo de implantação e cada incremento de mudança de tráfego.
+ Reversão: as implantações lineares 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.
+ Validação gradual: as implantações lineares permitem que você valide a nova revisão com quantidades crescentes de tráfego de produção, proporcionando mais confiança na implantação.
+ Duração da implantação: as implantações lineares demoram mais para serem concluídas do que as implantações completas por causa da mudança incremental do tráfego e aos tempos de espera entre as etapas.

## Como funciona a implantação linear
<a name="linear-deployment-how-works"></a>

O processo de implantação linear do Amazon ECS segue uma abordagem estruturada com seis fases distintas que garantem atualizações seguras e confiáveis das aplicações. Cada fase tem um propósito específico na validação e transição da aplicação da versão atual (azul) para a nova versão (verde).

1. Fase de preparação: crie o ambiente verde junto com o ambiente azul existente.

1. Fase de implantação: implante a nova revisão do serviço no ambiente verde. O Amazon ECS lança novas tarefas usando a revisão atualizada do serviço, enquanto o ambiente azul continua atendendo ao tráfego de produção.

1. Fase de teste: valide o ambiente verde usando o roteamento de tráfego de teste. O Application Load Balancer direciona as solicitações de teste para o ambiente verde, enquanto o tráfego de produção permanece no azul.

1. Fase de mudança de tráfego linear: mude gradualmente o tráfego de produção de azul para verde em incrementos percentuais iguais com base na sua estratégia de implantação configurada.

1. Fase de monitoramento: monitore a integridade da aplicação, as métricas de performance e os estados dos alarmes durante o tempo de incorporação. Uma operação de reversão é iniciada quando problemas são detectados.

1. Fase de conclusão: finalize a implantação encerrando o ambiente azul.

A fase de mudança de tráfego linear segue estas etapas:
+ Inicial: a implantação começa com 100% do tráfego roteado para a revisão de serviço azul (atual). A revisão de serviço verde (nova) recebe tráfego de teste, mas nenhum tráfego de produção inicialmente.
+ Mudança incremental de tráfego: o tráfego é gradualmente deslocado de azul para verde em incrementos percentuais iguais. Por exemplo, com uma configuração de etapa de 10,0%, as mudanças de tráfego ocorrem da seguinte forma:
  + Etapa 1: 10,0% para verde, 90,0% para azul
  + Etapa 2: 20,0% para verde, 80,0% para azul
  + Etapa 3: 30,0% para verde, 70,0% para azul
  + E assim por diante até que chegue a 100% verde
+ Tempo de incorporação da etapa: entre cada incremento de mudança de tráfego, a implantação espera por uma duração configurável (tempo de incorporação da etapa) para permitir o monitoramento e a validação da performance da nova revisão com o aumento da carga de tráfego. Observe que o tempo de incorporação da última etapa é ignorado quando o tráfego é deslocado em 100,0%.
+ Ganchos do ciclo de vida: é possível configurar funções do Lambda opcionais ou ganchos de pausa em vários estágios do ciclo de vida durante a implantação para executar validação automatizada, monitoramento ou lógica personalizada. Ganchos configurados para `PRODUCTION_TRAFFIC_SHIFT` ou `PRE_PRODUCTION_TRAFFIC_SHIFT` são invocados em cada etapa de mudança de tráfego de produção.

## Estágios do ciclo de vida de implantação
<a name="linear-deployment-lifecycle-stages"></a>

O processo de implantação linear percorre os diferentes estágios do ciclo de vida, cada um com responsabilidades específicas e pontos de verificação de validação. A compreensão desses estágios ajuda você a monitorar o andamento da implantação e solucionar problemas de forma eficaz.

Cada estágio do ciclo de vida pode durar até 24 horas e, além disso, cada etapa de mudança de tráfego em PRODUCTION\_TRAFFIC\_SHIFT pode durar até 24 horas. Recomendamos que o valor permaneça abaixo da marca de 24 horas. Isso ocorre porque os processos assíncronos precisam de tempo para acionar os ganchos. O sistema atinge o tempo limite, falha na implantação e, em seguida, inicia uma reversão após um estágio atingir 24 horas.

As implantações CloudFormation têm restrições adicionais de tempo limite. Embora o limite de estágio de 24 horas permaneça em vigor, o CloudFormation impõe um limite de 36 horas em toda a implantação. A implantação do CloudFormation falha e, em seguida, iniciará uma reversão se o processo não for concluído em até 36 horas.

Para ganchos de pausa, o tempo limite pode ser configurado em até 20.160 minutos (14 dias). O tempo limite de implantação é de 30 dias.


| Estágios do ciclo de vida | Descrição | Suporte de gancho do ciclo de vida | 
| --- | --- | --- | 
| RECONCILE\_SERVICE | Este estágio só acontece quando você inicia uma nova implantação de serviço com mais de uma revisão de serviço em um estado ACTIVE. | Sim | 
| PRE\_SCALE\_UP | A revisão do serviço verde ainda não foi iniciada. A revisão do serviço azul está processando 100% do tráfego de produção. Não há tráfego de teste. | Sim | 
| SCALE\_UP | O momento em que a revisão do serviço verde aumenta a escala verticalmente até 100% e inicia novas tarefas. A revisão do serviço verde não está recebendo nenhum tráfego neste momento. | Não | 
| POST\_SCALE\_UP | A revisão do serviço verde foi iniciada. A revisão do serviço azul está processando 100% do tráfego de produção. Não há tráfego de teste. | Sim | 
| TEST\_TRAFFIC\_SHIFT | As revisões do serviço azul e verde estão em execução. A revisão do serviço azul processa 100% do tráfego de produção. A revisão do serviço verde está migrando de 0% para 100% do tráfego de teste. | Sim (somente Lambda) | 
| POST\_TEST\_TRAFFIC\_SHIFT | A mudança de tráfego de teste foi concluída. A revisão do serviço verde processa 100% do tráfego de teste. | Sim | 
| PRE\_PRODUCTION\_TRAFFIC\_SHIFT | Ocorre antes de cada incremento de mudança de tráfego de produção. Ganchos do ciclo de vida configurados para esse estágio são invocados em cada etapa de mudança de tráfego. | Sim | 
| PRODUCTION\_TRAFFIC\_SHIFT | O tráfego é gradualmente deslocado de azul para verde em incrementos percentuais iguais até que o verde receba 100% do tráfego. Cada mudança de tráfego invoca um gancho do ciclo de vida com tempo limite de 24 horas. | Sim (somente Lambda) | 
| POST\_PRODUCTION\_TRAFFIC\_SHIFT | A mudança do tráfego de produção está concluída. | Sim | 
| BAKE\_TIME | A duração em que as revisões de serviço azul e verde são executadas simultaneamente. | Não | 
| CLEAN\_UP | A revisão do serviço azul teve a escala reduzida verticalmente por completo para 0 tarefa em execução. A revisão do serviço verde agora é a revisão do serviço de produção após esse estágio. | Não | 