En pocas palabras
Despliegue continuo: publicar automáticamente en producción cada cambio que supera los controles automatizados del pipeline, sin una aprobación manual por entrega.
Qué problema resuelve
Esperas de publicación, acumulación de cambios y retroalimentación tardía sobre su funcionamiento en producción.
Cuándo utilizarlo
Servicios con pruebas confiables, observabilidad y recuperación operativa. Ejemplo: un cambio integrado ejecuta pruebas, construye un artefacto y avanza automáticamente por un canary hasta producción.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
En el Radar compartido: Adopt (valoración de la edición aportada).
Cómo funciona
El pipeline convierte cambios pequeños en artefactos identificables y aplica controles antes de promoverlos. La decisión rutinaria de desplegar se automatiza; los equipos conservan la capacidad de detener el flujo o recuperar el servicio.
Ejemplo: recorrido de una entrega
Commit integrado
→ Pruebas y controles de seguridad
→ Construcción de un artefacto versionado
→ Despliegue progresivo con observación
→ Promoción automática o interrupción según los resultados
Las comprobaciones posteriores al despliegue forman parte del proceso. Tener un job que publica sin pruebas suficientes no representa por sí solo esta práctica con garantías operativas.
Delivery frente a deployment
| Práctica | Qué significa |
|---|---|
| Integración continua | Cada cambio se integra y verifica en la rama principal |
| Continuous delivery | Cada cambio queda listo para producción; desplegar es una decisión de negocio (un botón) |
| Continuous deployment | Cada cambio que supera los controles se despliega sin intervención humana |
Continuous deployment exige que los controles automáticos sean la fuente de confianza; la aprobación manual desaparece del camino habitual.
Estrategias de despliegue
| Estrategia | Cómo | Recuperación |
|---|---|---|
| Rolling | Reemplazar instancias poco a poco | Desplegar la versión anterior |
| Blue/green | Dos entornos completos, se cambia el tráfico de golpe | Volver al entorno anterior, inmediato |
| Canary | Pequeño porcentaje a la nueva versión, ampliando con evidencia | Retirar el tráfico de la canary (1% canary) |
| Dark launch + toggles | Código desplegado y desactivado, se activa por cohortes | Apagar el toggle (feature toggles) |
Promoción automática con Argo Rollouts
apiVersion: argoproj.io/v1alpha1
kind: Rollout
spec:
strategy:
canary:
steps:
- setWeight: 5
- pause: { duration: 10m }
- analysis:
templates: [{ templateName: tasa-errores }]
- setWeight: 25
- pause: { duration: 15m }
- analysis:
templates:
[{ templateName: tasa-errores }, { templateName: latencia-p95 }]
- setWeight: 100
Si un análisis falla, el rollout se aborta y el tráfico vuelve a la versión estable. En Cloud Run se logra lo mismo moviendo porcentajes de tráfico entre revisiones desde el pipeline.
Migraciones de base de datos compatibles
El despliegue continuo exige que dos versiones del código convivan con el mismo esquema. Patrón expand and contract:
- Expandir: añadir la columna nueva (nullable) sin tocar la antigua.
- Desplegar código que escribe en ambas y lee de la antigua.
- Migrar los datos existentes en segundo plano.
- Desplegar código que lee de la nueva.
- Contraer: eliminar la columna antigua en un despliegue posterior.
Cada paso es un despliegue independiente y reversible. Ver PostgreSQL para operaciones sin bloqueo.
Prerrequisitos y métricas
Trunk-based development, suite automática fiable, observabilidad con SLO, recuperación probada y cultura de postmortems sin culpa. Mide el efecto con las métricas DORA: debería aumentar la frecuencia y reducir el lead time sin empeorar la tasa de fallos.
En sectores regulados
La segregación de funciones no exige una aprobación manual en cada despliegue: la revisión obligatoria del pull request por otra persona, controles automáticos auditables y la evidencia del pipeline suelen satisfacer el requisito (continuous compliance). Acuerda el enfoque con auditoría antes de cambiar el proceso.
Criterios de implementación
Mantén lotes pequeños, migraciones compatibles y mecanismos de recuperación probados. Establece qué señales detienen la promoción y quién responde. Comienza por un servicio cuyo riesgo puedas gestionar y mejora la calidad del flujo antes de aumentar la frecuencia.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.