ENES

Despliegue blue-green

Publicar una versión nueva al lado de la vieja y pasar el tráfico de un saque.

Un interruptor manda a los usuarios al entorno verde con la versión 2, mientras el entorno azul con la versión 1 queda quieto y listo

Un despliegue blue-green (blue-green deployment) es una forma de sacar software nuevo casi sin cortes. Tenés dos entornos de producción idénticos. Uno, digamos el azul, atiende a los usuarios con la versión actual. Instalás la versión nueva en el otro, el verde, la probás ahí con infraestructura real y, cuando está bien, das vuelta la llave: el balanceador de carga o el DNS empieza a mandar todo el tráfico al verde.

La gran ventaja es la vuelta atrás. Si algo se rompe después del cambio, devolvés el tráfico al azul, que sigue corriendo la versión anterior sin tocar. Volver atrás tarda segundos en vez de un redeploy a las apuradas. Cuando el verde demostró que anda, el azul pasa a ser el lugar donde se prepara la próxima versión.

El precio es tener dos copias de todo durante un rato, y la parte delicada es la base de datos: las dos versiones suelen compartirla, así que los cambios en su estructura tienen que funcionar con el código viejo y con el nuevo a la vez. Un primo cercano es el canary release, que primero pasa a una parte chica de los usuarios en lugar de a todos juntos. Herramientas cloud como AWS CodeDeploy y Kubernetes soportan los dos patrones.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de Cloud