Despliegues blue/green
Configure estrategias de despliegue blue/green con GitHub Actions para minimizar el tiempo de inactividad y facilitar reversiones rápidas.
Despliegues blue/green es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué es una implementación Blue/Green?
¡Le damos la bienvenida! En esta lección profundizaremos en las implementaciones Blue/Green, una estrategia eficaz para publicar software nuevo.
Está diseñada para minimizar el tiempo de inactividad y el riesgo durante las implementaciones, garantizando que los usuarios disfruten siempre de una experiencia fluida.
Comprender Blue y Green
Imagine que tiene dos entornos de producción idénticos: uno llamado «Blue» y otro llamado «Green».
- Blue: Es el entorno activo actual que atiende todo el tráfico de los usuarios.
- Green: Es un entorno idéntico e inactivo que se utiliza para implementar y probar versiones nuevas.
Cómo funciona Blue/Green
El proceso es sencillo, pero eficaz:
- Implemente la nueva versión de la aplicación en el entorno Green (inactivo).
- Pruebe exhaustivamente la nueva versión en Green.
- Cuando tenga suficiente confianza, cambie todo el tráfico de usuarios de Blue a Green.
- El antiguo entorno Blue queda inactivo y puede conservarse para realizar reversiones rápidas o actualizaciones.
¿Por qué usar Blue/Green?
Esta estrategia ofrece ventajas importantes:
- Cero tiempo de inactividad: Los usuarios pasan a la nueva versión sin interrupciones.
- Reversión instantánea: Si surgen problemas, basta con devolver el tráfico al entorno Blue estable.
- Menor riesgo: Pruebe las versiones nuevas en un entorno similar al de producción antes de ponerlas en funcionamiento.
Qué necesitará
Para implementar Blue/Green, normalmente necesitará:
- Balanceador de carga: Para dirigir el tráfico al entorno Blue o Green.
- Dos entornos idénticos: A menudo basados en la nube, para garantizar la coherencia.
- Herramienta de automatización: Como GitHub Actions, para gestionar las implementaciones y el cambio de tráfico.
Orquestar con GitHub Actions
GitHub Actions puede automatizar cada paso de su implementación Blue/Green.
Puede definir flujos de trabajo para:
- Compilar e implementar en el entorno inactivo.
- Ejecutar pruebas automatizadas en la nueva implementación.
- Activar el cambio de tráfico mediante la API del balanceador de carga o un script.
Implementar la nueva versión
Este es un fragmento simplificado de GitHub Actions para implementar la nueva versión de su aplicación en el entorno «Green». Observe el uso de un nombre de environment.
name: Deploy to Green
on:
push:
branches:
- main
jobs:
deploy-green:
runs-on: ubuntu-latest
environment: Green # Target the Green environment
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy app to Green
run: |
echo "Deploying application version ${{ github.sha }} to Green environment..."
# Your actual deployment commands go here
# e.g., deploy to a specific AWS EC2 instance or Kubernetes namespaceCambiar el tráfico
Después de una implementación y unas pruebas satisfactorias, el último paso es cambiar el tráfico. Esto suele implicar actualizar un balanceador de carga o un registro DNS.
Este es un paso conceptual de GitHub Actions que activaría el cambio:
name: Switch Traffic to Green
on:
workflow_dispatch: # Manual trigger for traffic switch
jobs:
switch-traffic:
runs-on: ubuntu-latest
steps:
- name: Update Load Balancer to Green
run: |
echo "Switching load balancer traffic to Green environment..."
# Call your load balancer's API or a script here
# e.g., aws elbv2 modify-target-group-attributes ...
# or kubectl apply -f green-ingress.yamlReversiones instantáneas
¿Qué ocurre si cambia el tráfico a Green y aparece un error crítico?
Con Blue/Green, la reversión es instantánea. Solo tiene que devolver el tráfico del balanceador de carga al entorno Blue original y estable.
Esto reduce considerablemente el impacto del incidente y el tiempo de recuperación.
Consideraciones importantes
Aunque es potente, Blue/Green requiere tener en cuenta algunos aspectos:
- Duplicación de recursos: Se ejecutan dos entornos completos, lo que puede duplicar los costes de infraestructura.
- Migraciones de bases de datos: Gestionar los cambios de la base de datos puede ser complejo, ya que tanto Blue como Green podrían necesitar acceder al mismo almacén de datos.
- Aplicaciones con estado: Las aplicaciones con estado persistente requieren una planificación minuciosa.
Cuestionario sobre implementaciones Blue/Green
Comprobemos su comprensión de las implementaciones Blue/Green.
Resumen de la lección
¡Buen trabajo! Ha aprendido sobre las implementaciones Blue/Green.
- Utilizan dos entornos idénticos (Blue y Green) para implementar versiones nuevas.
- Ofrecen cero tiempo de inactividad y reversiones instantáneas.
- GitHub Actions puede automatizar la implementación y el cambio de tráfico.
- ¡Recuerde planificar los costes de los recursos y los cambios en la base de datos!
Preguntas frecuentes
¿La lección «Despliegues blue/green» es gratis?
Sí — el texto completo de «Despliegues blue/green» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Despliegues blue/green»?
Configure estrategias de despliegue blue/green con GitHub Actions para minimizar el tiempo de inactividad y facilitar reversiones rápidas. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Despliegues blue/green»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Despliegues blue/green
- Lanzamientos canary con Actions
- Reversiones y recuperación ante desastres
- Feature flags y despliegues progresivos