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-greenSi un servicio no define bloque de deploy, Mentat usa rolling con una configuracion conservadora por defecto.
Como Elegir
| Rolling | La mejor opcion por defecto para servicios stateless rapidos |
| Blue-Green | Ideal cuando quieres cutover instantaneo y rollback simple |
| Canary | Ideal 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.
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, revertirmt deploy api-gateway --image registry.example/api-gateway:v2Mejor 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.
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 standbymt deploy api-service --image api-service:v2
mt rollback api-serviceMejor 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.
1. Calcular capacidad canary desde canary_percent
2. Iniciar replicas canary
3. Observar metricas y comportamiento
4. Promover para rollout completo o abortar para revertirmt deploy streamforge --image streamforge:v2 --strategy canary
mt canary promote streamforge
mt canary abort streamforgeMejor 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.
mt rollback <servicio>