Middle
¿Qué es el despliegue Blue-Green?
sobes.tech AI
Respuesta de la IA
El despliegue azul-verde es una estrategia de lanzamiento de nuevas funcionalidades con un tiempo de inactividad mínimo, basada en mantener dos entornos idénticos: "azul" (la versión actual y en funcionamiento) y "verde" (la nueva versión).
Algoritmo:
- Existe un entorno "azul" activo que maneja todo el tráfico.
- La nueva versión de la aplicación se despliega en un entorno "verde" completamente idéntico pero inactivo.
- Tras pruebas exitosas en el entorno "verde", el tráfico se redirige a este.
- El entorno "azul" se mantiene para una rápida reversión o puede usarse para futuros despliegues.
Ventajas clave:
- Tiempo de inactividad mínimo: La conmutación del tráfico es casi instantánea.
- Reversión sencilla: En caso de problemas con la nueva versión, el tráfico se redirige fácilmente de vuelta al entorno "azul".
- Menor riesgo: La nueva versión se prueba en un entorno aislado antes de cambiar el tráfico.
Desventajas:
- Recursos dobles: Se requieren recursos para mantener dos entornos completos.
- Gestión del estado: Puede ser difícil gestionar el estado de la aplicación si utiliza una base de datos con cambios constantes.
Ejemplo de cambio de tráfico usando un balanceador de carga:
// Configuración del balanceador (simplificada)
{
"listeners": [
{
"port": 80,
"protocol": "HTTP",
"default_actions": [
{
"type": "forward",
"target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN del grupo de instancias del entorno "azul"
}
]
}
]
}
# Comando para cambiar el tráfico al entorno "verde"
# (ejemplo para AWS CLI, asumiendo que se tiene el ARN del nuevo grupo objetivo)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN del grupo de instancias del entorno "verde"