Conceito e mecanismo
Uma release gradual só controla o tráfego que atravessa o mecanismo configurado. Com SAM e Lambda, publicar versões e configurar um alias não força os clientes a usá-lo. Uma chamada ao ARN sem qualificador chega a $LATEST, contornando o percurso do alias. Observa identificadores de versão, invocações reais e resultados do serviço, além do gráfico do deployment. As versões publicadas fixam código e grande parte da configuração, mas não deves afirmar que absolutamente tudo fica congelado: há exceções operacionais, incluindo atualizações de runtime conforme o modo configurado. Define explicitamente o objeto e a configuração que a evidência cobre.
Aplicação guiada
Os hooks de validação SAM precisam de comunicar o resultado ao CodeDeploy. Uma função terminar sem erro não substitui esse callback. Prepara falhas de teste, timeout, alertas e decisão de regresso antes da janela. Rollback de deployment também não desfaz automaticamente dados ou ficheiros criados por scripts. A versão anterior precisa de continuar compatível com o estado existente. Em ECR, o modo IMMUTABLE sem exclusões impede substituir uma tag existente; as opções atuais de exclusão exigem confirmar a configuração efetiva. Em ECS rolling, o circuit breaker só pode regressar a um deployment anterior elegível em COMPLETED. Na primeira entrega pode não existir esse destino. O plano deve explicar o que fazer nessa situação.
Um alias quase sem tráfego não demonstra sucesso do canary se os clientes invocam $LATEST.
Armadilhas comuns
Hook concluído como callback; rollback como restauro universal; tag imutável sem verificar exclusões; primeiro deployment com destino de regresso presumido.
Tópicos relacionados: IaC, drift e reconciliação · Automação de frotas e governance
Verifica tráfego, estado persistente e destino de recuperação antes da promoção.
Referência: SAM gradual deployment · DOP-C02