Estrategias de despliegue: versiones, alias y cambio de tráfico

Aplicaciones sin servidor con AWS Lambda

Claudio Canales

Senior DevOps Engineer

Por qué importa la estrategia de despliegue

  • Detecta fallos rápido.
  • Limita el impacto.
  • Recupera rápido.

Despliegue arriesgado vs seguro

Aplicaciones sin servidor con AWS Lambda

$LATEST vs versiones publicadas

$LATEST

  • Cambia cada vez que actualizas código.

Versiones

  • Instantáneas inmutables.
  • Fáciles de fijar para rollbacks y división de tráfico.

Latest vs versiones

Aplicaciones sin servidor con AWS Lambda

Una versión es una instantánea inmutable

  • Trata las versiones como artefactos de release.
  • Cada una captura código y configuración.
  • Una vez publicada, no cambia.
  • Siempre puedes volver a un estado conocido bueno.

Instantánea de versión inmutable

Aplicaciones sin servidor con AWS Lambda

Los alias son punteros estables

  • Un puntero estable.
  • Invoca el alias en vez de la versión.
  • Actualiza su destino sin cambiar a quien llama.

El alias apunta a una versión

Aplicaciones sin servidor con AWS Lambda

Alias de dev y prod

  • Genial para entornos.
  • Mueve dev con frecuencia.
  • Promueve a prod moviendo el alias.

Mapeo de alias de dev y prod

Aplicaciones sin servidor con AWS Lambda

Cambio de tráfico con alias ponderados

  • Prueba en producción con seguridad.
  • La mayor parte del tráfico sigue en la versión actual.
  • Un pequeño porcentaje va a la candidata.

Concepto de enrutado ponderado por alias

Aplicaciones sin servidor con AWS Lambda

Canario paso 1: 90/10

  • 90% sigue en la versión actual.
  • 10% prueba la candidata bajo carga real.
  • Vigila errores y latencia.

Canario 90/10

Aplicaciones sin servidor con AWS Lambda

Canario paso 2: 50/50

  • Si el 10% va bien, aumenta el peso.
  • 50% actual, 50% candidata.
  • A 50/50, los problemas aparecen rápido.
  • El monitoreo importa.

Canario 50/50

Aplicaciones sin servidor con AWS Lambda

Canario paso 3: 100% nueva

  • Envía todo el tráfico a la nueva versión.
  • La versión antigua sigue ahí.
  • Revertir es sencillo.

Canario 100% nueva

Aplicaciones sin servidor con AWS Lambda

Modelo mental blue/green

  • Azul = versión estable actual.
  • Verde = versión candidata nueva.
  • Cambia moviendo el alias.
  • El enrutado ponderado hace el cambio gradual.

Cambio blue/green

Aplicaciones sin servidor con AWS Lambda

Rollback = mover el alias atrás

  • No hace falta re-desplegar.
  • Mueve el alias a la última versión estable conocida.
  • Recupera en segundos, no horas.
  • Versiones inmutables y alias estables trabajan juntos.

Rollback moviendo el alias

Aplicaciones sin servidor con AWS Lambda

Monitorea durante el cambio

  • Errores y timeouts.
  • Duración y latencia tail.
  • Limitaciones si usas cupos.
  • Pausa o revierte rápido.

Métricas de monitoreo de despliegue

Aplicaciones sin servidor con AWS Lambda

Error común: tratar $LATEST como prod

  • Depender de $LATEST quita previsibilidad.
  • Versiones y alias dejan claro qué corre.
  • Las reversiones son seguras.

Advertencia sobre drift de latest

Aplicaciones sin servidor con AWS Lambda

Ignorar

Aplicaciones sin servidor con AWS Lambda

Checklist de despliegue seguro

  • Publica una versión.
  • Cambia el tráfico gradualmente con un alias.
  • Monitorea los resultados.
  • Ten listo el rollback en cada paso.

Lista de verificación de despliegue seguro

Aplicaciones sin servidor con AWS Lambda

Puntos clave

  • Las versiones dan previsibilidad.
  • Los alias dan estabilidad.
  • El enrutado ponderado aporta seguridad.
  • Rollback = mover el alias.

Puntos clave de despliegue

Aplicaciones sin servidor con AWS Lambda

¡Vamos a practicar!

Aplicaciones sin servidor con AWS Lambda

Preparing Video For Download...