Estratégias de deploy: versões, aliases e mudança de tráfego

Aplicações Serverless com AWS Lambda

Claudio Canales

Senior DevOps Engineer

Por que a estratégia de deploy importa

  • Detecte bugs rápido.
  • Limite o impacto.
  • Recupere rápido.

Deploy arriscado vs seguro

Aplicações Serverless com AWS Lambda

$LATEST vs versões publicadas

$LATEST

  • Muda toda vez que você atualiza o código.

Versões

  • Snapshots imutáveis.
  • Fáceis de fixar para rollback e divisão de tráfego.

Latest vs versões

Aplicações Serverless com AWS Lambda

Uma versão é um snapshot imutável

  • Trate versões como artefatos de release.
  • Cada uma captura código e configuração.
  • Depois de publicada, não muda.
  • Você sempre pode voltar a um estado estável conhecido.

Snapshot de versão imutável

Aplicações Serverless com AWS Lambda

Aliases são ponteiros estáveis

  • Um ponteiro estável.
  • Chame o alias em vez da versão.
  • Atualize o destino sem mudar os chamadores.

Alias aponta para uma versão

Aplicações Serverless com AWS Lambda

Aliases de dev e prod

  • Ótimo para ambientes.
  • Mova dev com frequência.
  • Promova a prod movendo o alias.

Mapeamento de alias dev e prod

Aplicações Serverless com AWS Lambda

Mudança de tráfego com aliases ponderados

  • Teste em produção com segurança.
  • A maior parte do tráfego fica na versão atual.
  • Uma pequena parte vai para a candidata.

Roteamento ponderado por alias

Aplicações Serverless com AWS Lambda

Canário passo 1: 90/10

  • 90% fica na versão atual.
  • 10% testa a candidata sob carga real.
  • Observe erros e latência.

Canário 90/10

Aplicações Serverless com AWS Lambda

Canário passo 2: 50/50

  • Se os 10% estiverem bem, aumente o peso.
  • 50% atual, 50% candidata.
  • Problemas aparecem rápido em 50/50.
  • Monitoramento é essencial.

Canário 50/50

Aplicações Serverless com AWS Lambda

Canário passo 3: 100% nova

  • Direcione todo o tráfego para a nova versão.
  • A versão antiga continua lá.
  • Rollback é simples.

Canário 100% nova

Aplicações Serverless com AWS Lambda

Modelo mental blue/green

  • Azul = versão estável atual.
  • Verde = nova versão candidata.
  • Troque movendo o alias.
  • Roteamento ponderado faz a troca ser gradual.

Troca blue/green

Aplicações Serverless com AWS Lambda

Rollback = mover o alias de volta

  • Não precisa redeploy.
  • Mova o alias para a última versão estável.
  • Recupere em segundos, não horas.
  • Versões imutáveis e aliases estáveis funcionam juntas.

Rollback movendo o alias

Aplicações Serverless com AWS Lambda

Monitore durante a mudança

  • Erros e timeouts.
  • Duração e tail latency.
  • Throttling se você usar limites.
  • Pause ou faça rollback rápido.

Métricas de monitoramento de deploy

Aplicações Serverless com AWS Lambda

Erro comum: tratar $LATEST como prod

  • Confiar em $LATEST perde previsibilidade.
  • Versões e aliases deixam claro o que está rodando.
  • Rollbacks são seguros.

Alerta sobre usar latest

Aplicações Serverless com AWS Lambda

Ignore

Aplicações Serverless com AWS Lambda

Checklist de deploy seguro

  • Publique uma versão.
  • Desvie o tráfego gradualmente com um alias.
  • Monitore os resultados.
  • Tenha rollback pronto em cada etapa.

Checklist de deploy seguro

Aplicações Serverless com AWS Lambda

Pontos-chave

  • Versões dão previsibilidade.
  • Aliases dão estabilidade.
  • Roteamento ponderado traz segurança.
  • Rollback = mover o alias.

Principais pontos de deploy

Aplicações Serverless com AWS Lambda

Vamos praticar!

Aplicações Serverless com AWS Lambda

Preparing Video For Download...