Blog

Blue-Green deployments en AWS RDS

En el dinámico mundo de la gestión de bases de datos, mantenerse al día es esencial para garantizar un rendimiento óptimo, una seguridad robusta y el acceso a las últimas características y mejoras. Una de las actualizaciones más esperadas y significativas en este ámbito es la transición de MySQL 5.7 a MySQL 8. Esta actualización no solo brinda mejoras de rendimiento, sino que también introduce una serie de nuevas funciones y características que pueden transformar la forma en que su aplicación interactúa con los datos.

En este artículo, explicaremos un enfoque moderno y seguro para llevar a cabo la actualización de MySQL en AWS RDS: el despliegue "Blue-Green". Esta metodología se ha convertido en un estándar en la administración de sistemas y DevOps debido a su capacidad para minimizar el riesgo y el tiempo de inactividad durante las actualizaciones de software.

Comprendiendo el Despliegue "Blue-Green"

Antes de sumergirnos en los detalles, es importante comprender el concepto detrás de un despliegue "Blue-Green". En pocas palabras, se trata de mantener dos entornos separados: uno en producción (entorno "Blue") y otro en preparación (entorno "Green"). En el proceso de paso a producción del entorno "Green", se realizan de manera automática las operaciones que permiten redirigir el tráfico al nuevo cluster, permitiendo una transición fluida que minimiza el impacto y la pérdida de servicio.

El Proceso en Acción

Imaginemos que tenemos una base de datos RDS MySQL 5.7 Community que deseamos actualizar a MySQL 8. A continuación, describiremos los pasos necesarios para llevar a cabo esta transición mediante un despliegue "Blue-Green".

Antes de comenzar, es importante resaltar que los backups han de estar habilitados en la instancia RDS sobre la cual queremos realizar el Blue/Green Deployment, no sólo por seguridad nuestra a la hora de realizar el proceso de actualización, si no que es un requisito de dicho proceso.

Para crear un despliegue Blue-Green seleccione la base de datos, haga clic en "Actions" y elija "Create Blue/Green Deployment".

crear_despliegue_blue_grenn.png

En la siguiente ventana encontrarás las configuraciones necesarias para el despliegue Blue-Green, incluida la elección de la versión de MySQL 8 a la que se actualizará, el parameter group a utilizar, etc.

2_configuraciones_despligue.png

El despliegue creará una nueva base de datos que será clonada de la versión anterior, y establecerá una replicación de las transacciones realizadas en el entorno Blue al Green.

3_replicacion_transaciones.png

Una vez que el despliegue esté listo

4_despligue_ok.png

seleccionamos el Blue/Green Deployment donde podemos revisar las configuraciones para contrastar los cambios entre los entornos "blue" y "green".

5_contrastacion_cambios_entornos.png

Una vez contrastados y ajustados los cambios a aplicar entre los distintos entornos, conviene utilizar el Endpoint del entorno "Green" para realizar pruebas exhaustivas antes de realizar el cambio de servicio.

6_endpoint_entorno_green.png

Una vez validado el entorno "green", realice el "switch over" de los entornos. Seleccionamos el despliegue Blue-Green creado y vamos a "Actions" > "Switch over".

7_switch_over_de_los_entornos.png

Veremos antes de confirmar el paso las configuraciones de ambos entornos una vez más para poder contrastar cambios y verificarlos antes de proceder finalmente con el Switch Over.

8_switchover_summary.png

El "switch over" transferirá controladamente el servicio al nuevo entorno, replicando todas las transacciones del entorno "blue" al "green".

9_switching_over_blue_green.png

10_switchover_complete_blue_green.png

Por último y no menos importante, una vez que el "switch over" se haya realizado con éxito, elimine los recursos obsoletos, incluyendo la base de datos antigua y el recurso del despliegue "Blue-Green".

Conclusión

Este enfoque "Blue-Green" ofrece una forma segura y eficiente de llevar a cabo la actualización de MySQL en AWS RDS. Minimiza el riesgo y el tiempo de inactividad, asegurando que su base de datos esté siempre actualizada y lista para las demandas de su aplicación.

Como resultado, su servicio puede evolucionar de manera continua sin interrupciones innecesarias.

 

Newsletter de STR Sistemas

Suscríbete a nuestra newsletter para recibir contenido interesante del mundo DevOps y artículos escritos por nuestros técnicos

¡Usamos cookies propias y de terceros para mejorar tu experiencia en esta web! Si sigues navegando, consientes y aceptas estas cookies en tu ordenador, móvil o tablet.

Más información sobre las cookies y cómo cambiar su configuración en tu navegador aquí.

x