Estrategias de Deploy

Mentat incluye tres estrategias de rollout porque no todos los workloads deberian actualizarse igual. Servicios stateless rapidos, APIs con mas riesgo y cambios criticos se benefician de mecanicas de despliegue distintas.

Configuracion

deploy:
  strategy: rolling        # rolling | blue-green | canary
  max_unavailable: 1       # replicas maximas caidas a la vez
  health_timeout_secs: 10  # tiempo de espera para health check
  auto_revert: true        # rollback en fallo
  canary_percent: 10       # % de trafico al canary
  standby_secs: 600        # tiempo de standby en blue-green

Si un servicio no define bloque de deploy, Mentat usa rolling con una configuracion conservadora por defecto.

Como Elegir

RollingLa mejor opcion por defecto para servicios stateless rapidos
Blue-GreenIdeal cuando quieres cutover instantaneo y rollback simple
CanaryIdeal para cambios riesgosos que quieres validar gradualmente

Rolling

Rolling es la estrategia por defecto. Mentat reemplaza replicas por lotes y mantiene el servicio disponible mientras avanza el rollout.

flujo
1. Iniciar un lote de replicas nuevas
2. Esperar health
3. Detener las replicas viejas equivalentes
4. Repetir hasta completar el rollout
5. Si health falla y auto_revert esta activo, revertir
uso
mt deploy api-gateway --image registry.example/api-gateway:v2

Mejor para servicios stateless y rapidos, especialmente cuando el boot es corto y reemplazar replicas es barato.

Blue-Green

Blue-green crea un entorno completo de reemplazo, espera a que este sano y luego cambia el trafico de una vez. La version anterior puede quedar viva durante un tiempo de standby.

flujo
1. Iniciar todo el set green
2. Esperar a que todas las replicas green esten healthy
3. Cambiar trafico de blue a green
4. Mantener blue en standby para rollback
5. Remover blue al terminar la ventana de standby
uso
mt deploy api-service --image api-service:v2
mt rollback api-service

Mejor para APIs y servicios donde revertir de inmediato importa mas que ahorrar capacidad temporal.

Canary

Canary envia primero una fraccion del trafico a la nueva version. El deploy queda en estado canary hasta que un operador promueve o aborta.

flujo
1. Calcular capacidad canary desde canary_percent
2. Iniciar replicas canary
3. Observar metricas y comportamiento
4. Promover para rollout completo o abortar para revertir
uso
mt deploy streamforge --image streamforge:v2 --strategy canary
mt canary promote streamforge
mt canary abort streamforge

Mejor para servicios criticos y cambios que deben probarse en produccion antes de exponerse por completo.

Rollback

Rollback funciona en cualquier estrategia. Mentat registra la imagen anterior para que el operador revierta rapido si el resultado no cumple expectativas.

uso
mt rollback <servicio>