Modelado de los despliegues azul-verde, en rollo y canario

Los pasos Para cada agente y Para cada etiqueta proporcionan modos para implementar despliegues en entornos grandes por fases, lo cual le permite ejecutar un despliegue azul-verde o en rollo flexible actualizando o no antes los nodos canarios.

Dos pasos del proceso de aplicaciones, el paso Para cada agente y el paso Para cada etiqueta, ofrecen formas flexibles de implementar despliegues por fases en entornos multinodo. Puede utilizar estos pasos para seleccionar subconjuntos de agentes y realizar el despliegue en estos subconjuntos en un orden específico. A continuación se facilitan algunos ejemplos de escenario de uso de estos pasos para controlar el modo en que se realizan los despliegues en entornos multinodo.

Despliegues azul-verde

Para obtener una demo en vídeo de los despliegues azul-verde, consulte Despliegues azul-verde con IBM UrbanCode Deploy. Para ver un artículo donde se describa detalladamente el escenario de despliegue azul-verde, consulte Configuración de despliegues azul-verde en IBM UrbanCode Deploy 6.2.4.

Los despliegues azul-verde utilizan dos entornos idénticos. Mientras los clientes utilizan un entorno activo, usted puede utilizar el otro entorno sin interrumpir al entorno activo. Más tarde, cuando el otro entorno esté listo, define un equilibrador de carga para enviar el tráfico cliente al entorno actualizado. Actualizar los entornos de este modo permite realizar despliegues con cero tiempo de inactividad y mantiene un segundo entorno de trabajo listo en todo momento por si se produjese cualquier problema en el entorno activo.

Para configurar un despliegue azul-verde, antes debe configurar entornos coincidentes en el servidor. Estos entornos puede apuntar a los mismos entornos físicos siempre que tengan recursos de agente diferentes. Estos recursos de agente diferentes le permitirán distinguir los dos entornos, como se muestra en la figura siguiente

Árbol de recursos que muestra las dos colecciones coincidentes de recursos de agente

A continuación, aplique etiquetas para seleccionar subconjuntos de recursos de agente. Por ejemplo, los despliegues grandes a menudo actualizan antes varios nodos de prueba, denominados nodos canario. Puede aplicar una etiqueta de recurso a sus nodos canario para ejecutar despliegues en primer lugar en esos recursos de agente. Por ejemplo, la figura siguiente muestra el mismo árbol de recursos añadiendo las etiquetas "canary" en el nodo canario y "mainSystem" en el resto de nodos:

Árbol de recursos que muestra las etiquetas de recurso de los recursos de agente

A continuación, en sus procesos de aplicaciones, ejecute los despliegues en base a las etiquetas o agentes. Por ejemplo, para ejecutar un despliegue en primer lugar en los recursos de agente canario, y después en el resto de recursos de agente, utilice un bucle Para cada etiqueta. En el bucle, utilice primero la etiqueta "canary" y después una etiqueta que represente al resto de recursos. La figura siguiente muestra el paso Para cada etiqueta utilizada, y la figura siguiente muestra las propiedades de dicho paso:

Paso Para cada etiqueta utilizada en un proceso de aplicaciones
Propiedades del paso Para cada etiqueta

Cuando solicita el proceso, puede definir las etiquetas a utilizar para dicha solicitud, como se muestra en la figura siguiente:

Definición de etiquetas para iteración al solicitar el proceso

Existen muchas otras formas de organizar este tipo de despliegue. Por ejemplo, en vez de utilizar entornos diferentes, puede utilizar un único entorno y etiquetas los nodos azules y verdes con etiquetas de recurso. El modo de organizar sus entornos y aplicar las etiquetas de recursos a estos depende del orden en que desee actualizar sus nodos.

Despliegue en rollo

Los Despliegues en rollo actualizan entornos grandes actualizando los nodos por grupos pequeños. La configuración de los despliegues en rollo puede ser similar a los despliegues azul-verde, pero esta vez con un solo entorno lógico. El entorno puede tener varios nodos, como se muestra en la figura siguiente:

Un entorno con seis nodos

Para realizar el despliegue en estos nodos de uno en uno, utilice el paso Para cada agente. Por ejemplo, el siguiente proceso de aplicaciones ejecuta despliegues en estos nodos dentro del paso Para cada agente. Tras cada despliegue se detiene para realizar tareas manuales con el fin de garantizar que el despliegue se ha realizado correctamente en cada nodo. En vez de dicha tarea manual podría utilizarse una prueba manual o automática. En las propiedades del bucle, la propiedad Máx. agentes simultáneos se define en 1 para ejecutar el despliegue cada vez en un agente.

Proceso de aplicaciones en bucle; en el bucle existe un paso de instalación y un paso de tarea manual

Despliegues canarios

Los despliegues canarios son despliegues que empiezan actualizando un único nodo o un subconjunto de nodos. De esta forma, puede probar la actualización en un pequeño subconjunto del sistema antes de actualizar cada nodo. Los despliegues canarios pueden formar parte de muchos otros escenarios de despliegue. Por ejemplo, el escenario en Configuración de despliegues azul-verde en IBM UrbanCode Deploy 6.2.4 incluye un despliegue en un nodo canario primero.

Todo lo que debe hacer para utilizar un nodo canario en su despliegue es elegir uno o varios nodos y asegurarse de que despliega esos nodos primero. A continuación, debe utilizar pruebas automatizadas o manuales para asegurarse de que el nodo o los nodos canarios funcionan correctamente con la nueva versión.

Una forma directa de realizar el despliegue primero en nodos canarios es aplicarles una etiqueta de recurso y realizar el despliegue primero en esa etiqueta de recurso. Por ejemplo, el escenario en el artículo Despliegue de aplicaciones con nodos canarios aplica la etiqueta de recurso canary en un nodo y la etiqueta de recurso mainSystem en los otros nodos. El artículo muestra varias formas de utilizar esas etiquetas, pero una forma sencilla es utilizar un bucle Para cada etiqueta. Este bucle contiene un subproceso simple que despliega los componentes y ejecuta pruebas automatizadas:

Un proceso simple con un bucle Para cada etiqueta que despliega un componente, lo prueba y, de manera opcional, lo retrotrae
En las propiedades del bucle, debe seleccionar las etiquetas y, a continuación, establecer su orden. En este caso, la etiqueta canary se ejecuta primero y la etiqueta mainSystem se ejecuta en segundo lugar:
Las propiedades del bucle Para cada etiqueta, que muestran que la etiqueta canary se ejecuta primero


Comentarios