Implementaciones “blue/green” de Amazon ECS - Amazon Elastic Container Service

Implementaciones “blue/green” de Amazon ECS

Una estrategia de implementación azul/verde es una metodología de lanzamiento que reduce el tiempo de inactividad y el riesgo al ejecutar dos entornos de producción idénticos, denominados azul y verde. Con las implementaciones azul/verde de Amazon ECS, puede validar las nuevas revisiones de servicios antes de dirigir el tráfico de producción hacia ellas. Este método proporciona una forma más segura de implementar cambios con la capacidad de revertirlos rápidamente si es necesario.

Ventajas

El uso de las implementaciones azul/verde ofrece los siguientes beneficios:

  • Reduce el riesgo mediante pruebas con el tráfico de producción antes de cambiar de producción. Puede validar la nueva implementación con tráfico de prueba antes de dirigir el tráfico de producción hacia él.

  • Implementaciones sin tiempo de inactividad. El entorno de producción permanece disponible durante todo el proceso de implementación, lo que garantiza la disponibilidad continua del servicio.

  • Reversión sencilla si se detectan problemas. Si surgen problemas con la implementación verde, puede volver rápidamente a la implementación azul sin interrumpir el servicio por periodos prolongados.

  • Entorno de pruebas controlado. El entorno verde proporciona un espacio aislado para comprobar nuevas características con patrones de tráfico reales antes de su implementación completa.

  • Proceso de implementación predecible. El método estructurado con etapas del ciclo de vida definidas hace que las implementaciones sean más coherentes y fiables.

  • Validación automatizada mediante enlaces de ciclo de vida. Puede incorporar pruebas automatizadas en varias etapas de la implementación para verificar la funcionalidad.

Terminología

A continuación se indican los términos de implementación azul/verde de Amazon ECS:

  • Tiempo de incorporación: el tiempo durante el cual las revisiones de servicio azul y verde se ejecutan simultáneamente después de que se haya transferido el tráfico de producción.

  • Implementación azul: la revisión de servicio de producción actual que desea sustituir.

  • Implementación verde: la nueva revisión de servicio que desea implementar.

  • Etapas del ciclo de vida: serie de eventos de la operación de implementación, como “una transferencia de tráfico posterior a la producción”.

  • Enlace de ciclo de vida: una función de Lambda que verifica la implementación en una etapa específica del ciclo de vida.

  • Oyente: un recurso de Elastic Load Balancing que comprueba las solicitudes de conexión utilizando el protocolo y el puerto configurados. Las reglas que defina para un oyente determinan cómo Amazon ECS va a enrutar las solicitudes hacia sus destinos registrados.

  • Regla: un recurso de Elastic Load Balancing asociado a un oyente. Una regla define cómo se enrutan las solicitudes y consta de una acción, una condición y una prioridad.

  • Grupo de destino: un recurso de Elastic Load Balancing que se utiliza para enrutar las solicitudes a uno o más destinos registrados (por ejemplo, instancias de EC2). Cuando se crea un agente de escucha, especifica un grupo de destino para su acción predeterminada. El tráfico se reenvía al grupo de destino especificado en la regla del agente de escucha.

  • Transferencia de tráfico: el proceso que Amazon ECS utiliza para transferir el tráfico de la implementación azul a la implementación verde. Para las implementaciones azul/verde de Amazon ECS, todo el tráfico se transfiere del servicio azul al servicio verde a la vez.

Consideraciones

Tenga en cuenta lo siguiente al elegir un tipo de implementación:

  • Uso de recursos: las implementaciones azul/verde ejecutan temporalmente las revisiones de servicio azul y verde simultáneamente, lo que puede duplicar el uso de recursos durante las implementaciones.

  • Monitoreo de la implementación: las implementaciones azul/verde proporcionan información más detallada sobre el estado de la implementación, lo que le permite monitorear cada etapa del proceso de implementación.

  • Reversión: las implementaciones azul/verde facilitan la reversión a la versión anterior si se detectan problemas, ya que la revisión azul se mantiene activa hasta que vence el tiempo de incorporación.