stringtranslate.com

Implementación azul-verde

En ingeniería de software , la implementación azul-verde (también azul/verde ) es un método para instalar cambios en un servidor web, de aplicación o de base de datos mediante el intercambio de servidores de producción y de prueba alternos.

Descripción general

En las implementaciones azul-verde, se mantienen dos servidores: un servidor "azul" y un servidor "verde". En un momento dado, sólo un servidor maneja las solicitudes (por ejemplo, siendo señalado por el DNS ). Por ejemplo, las solicitudes públicas pueden enrutarse al servidor azul, convirtiéndolo en el servidor de producción y el servidor verde en el servidor de prueba, al que solo se puede acceder en una red privada. Los cambios se instalan en el servidor no activo, que luego se prueba a través de la red privada para verificar que los cambios funcionen como se esperaba. Una vez verificado, el servidor no activo se intercambia con el servidor activo, lo que efectivamente hace que los cambios implementados estén activos. [1]

El uso de este método de implementación de software ofrece la posibilidad de retroceder rápidamente a un estado anterior si algo sale mal. Esta reversión se logra simplemente enrutando el tráfico al servidor activo anterior, que aún no tiene los cambios implementados. [2] Un beneficio adicional del método de implementación azul-verde es la reducción del tiempo de inactividad del servidor. Debido a que las solicitudes se enrutan instantáneamente de un servidor a otro, lo ideal es que no haya ningún período en el que las solicitudes queden sin atender. [3]

La técnica de implementación azul-verde a menudo se contrasta con la técnica de implementación de versión canary [3] y tiene similitudes con las pruebas A/B .

Historia

Dan North y Jez Humble encontraron diferencias entre sus entornos de prueba y el entorno de producción mientras ejecutaban Oracle WebLogic Server para un cliente alrededor de 2005. [4] Para garantizar una implementación segura, introdujeron un método en el que la nueva versión de la aplicación se implementaba junto con el sistema en vivo. . Este enfoque permitió realizar pruebas exhaustivas y una fácil reversión en caso de problemas. Inicialmente, el equipo consideró nombrar estos entornos A y B, pero decidió no hacerlo para evitar la percepción de jerarquía. En su lugar, eligieron nombres basados ​​en colores como azul, verde, naranja y amarillo, y finalmente usaron sólo azul y verde ya que "tener dos era suficiente". [5] Esta convención de nomenclatura se adoptó mientras se trabajaba en el libro original de Entrega continua publicado en 2010 [6] y posteriormente se convirtió en un término común en la industria.

Referencias

  1. ^ LaToza, Thomas (2019). "Implementación" (PDF) . Archivado desde el original (PDF) el 14 de enero de 2020 . Consultado el 14 de enero de 2020 .
  2. ^ Fowler, Martín (1 de marzo de 2010). "Implementación azul verde". Archivado desde el original el 10 de enero de 2020 . Consultado el 14 de enero de 2020 .
  3. ^ ab Posta, Christian (3 de agosto de 2015). "Implementaciones azul-verde, pruebas A/B y versiones Canary". Archivado desde el original el 30 de marzo de 2018 . Consultado el 14 de enero de 2020 .
  4. ^ Kuenzli, Stephen (1 de marzo de 2010). "Historia del origen: el método de implementación azul-verde". Archivado desde el original el 9 de junio de 2023 . Consultado el 23 de enero de 2024 .
  5. ^ Terhorst-North, Daniel (1 de marzo de 2010). "Despliegue Azul-Verde" . Consultado el 23 de enero de 2024 .
  6. ^ Humilde, Jez; Farley, David (2010). Entrega continua: lanzamientos de software confiables mediante la automatización de compilación, prueba e implementación . Addison-Wesley. ISBN 978-0-321-60191-9.