Sobes.tech
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:

  1. Existe un entorno "azul" activo que maneja todo el tráfico.
  2. La nueva versión de la aplicación se despliega en un entorno "verde" completamente idéntico pero inactivo.
  3. Tras pruebas exitosas en el entorno "verde", el tráfico se redirige a este.
  4. 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"