Despliegue Blue green y Canary release

David Guzman Lopez

Estrategias reales para desplegar sin romper producción — Blue green

En DevSecOps hablamos mucho de automatización, pruebas de seguridad y CI/CD. Pero hay un momento donde todo eso se pone a prueba, el despliegue en producción.

Porque no importa qué tan buenas sean tus pruebas o tu pipeline, el verdadero riesgo aparece cuando el tráfico real empieza a golpear tu nueva versión.

Ahí es donde entran estrategias como Blue-Green y Canary Release. Son patrones que nacieron de la necesidad de reducir riesgo, minimizar downtime y tener control real sobre los cambios.

En un Blue-Green Deployment trabajas con dos entornos de producción que son prácticamente idénticos en infraestructura, configuración y capacidades. A uno lo llamamos Blue, que es el entorno que actualmente está atendiendo a los usuarios reales, y al otro lo llamamos Green, que será el entorno donde desplegaremos la nueva versión. La clave de esta estrategia es que, aunque existen dos entornos listos para operar, el tráfico solo apunta a uno de ellos en cada momento.

El proceso es bastante directo. Mientras el entorno Blue continúa sirviendo tráfico real sin interrupciones, despliegas la nueva versión de la aplicación en el entorno Green. En ese entorno puedes ejecutar pruebas funcionales, pruebas de integración, e incluso validaciones de seguridad sin afectar a los usuarios.

Una vez que validas que todo funciona correctamente y que la nueva versión cumple con los criterios definidos, realizas el cambio de tráfico. Ese cambio modificando la configuración del load balancer, Desde el punto de vista del usuario final, el cambio suele ser transparente.

En el momento en que Green comienza a recibir todo el tráfico, Blue deja de estar activo pero no desaparece. Se convierte en tu respaldo inmediato. Si detectas un problema crítico tras el despliegue, simplemente vuelves a redirigir el tráfico a Blue. Ese rollback es rápido porque no implica reconstruir nada, el entorno anterior ya está funcionando.

Entre las ventajas más claras está la reducción casi total del downtime, ya que el cambio de versión se limita a una redirección de tráfico. Además, el rollback es inmediato y confiable. La separación entre versiones es limpia.

Sin embargo, no todo es tan simple como parece. Mantener dos entornos idénticos implica duplicar infraestructura, lo que incrementa costos, especialmente en sistemas de gran escala.

Estrategias reales para desplegar sin romper producción — Canary Release

En una Canary Release, la nueva versión no reemplaza inmediatamente a la anterior. En lugar de eso, se despliega en paralelo junto a la versión actual que ya está en producción. Ambas conviven al mismo tiempo, pero no reciben la misma cantidad de tráfico. La idea es controlar cuidadosamente cuánto impacto tiene la nueva versión desde el primer momento.

El proceso comienza redirigiendo un pequeño porcentaje de tráfico —por ejemplo, un 5%— hacia la nueva versión. Ese porcentaje puede definirse por reglas de enrutamiento en un load balancer. El resto de los usuarios sigue interactuando con la versión estable. Desde fuera, nadie nota que hay dos versiones corriendo al mismo tiempo.

A partir de ahí, el foco principal no está en el despliegue en sí, sino en la observabilidad. Se monitorean métricas técnicas como la latencia, la tasa de errores y el consumo de recursos, pero también métricas de negocio: conversiones, tiempo de permanencia, tasa de abandono, comportamiento de usuarios, etc.

Si los indicadores se mantienen dentro de los umbrales definidos, el porcentaje de tráfico hacia la nueva versión se incrementa gradualmente: 5%, 15%, 30%, 50%… hasta llegar al 100%. Este crecimiento progresivo permite detectar problemas cuando todavía afectan a una minoría de usuarios.

Sin embargo, la Canary Release exige madurez técnica. Sin una buena plataforma de observabilidad —logs centralizados, métricas confiables, alertas bien configuradas— es difícil tomar decisiones objetivas sobre si avanzar o retroceder.

Finalmente, esta estrategia introduce mayor complejidad operativa. Mantener múltiples versiones activas, controlar porcentajes de tráfico y analizar métricas en tiempo real requiere automatización y procesos claros. No es simplemente “desplegar y observar”; es un enfoque disciplinado de entrega progresiva donde cada incremento debe estar respaldado por datos.

Que Estrategia usar?


CaracterísticaBlue-GreenCanary
Cambio de tráficoTodo o nadaProgresivo
Infraestructura duplicadaNo necesariamente
RollbackInstantáneoRápido pero controlado
Riesgo inicialBajo pero binarioMuy bajo y gradual
Requiere observabilidad avanzadaMediaAlta

David Guzmán López

Ingeniero Electrónico

Electronic Engineer | DevOps Engineer | SRE | Cloud Engineer | Infrastructure Engineer