0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lección

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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CI/CD with GitHub Actions & DevOps Pipelines 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:

  1. Implemente la nueva versión de la aplicación en el entorno Green (inactivo).
  2. Pruebe exhaustivamente la nueva versión en Green.
  3. Cuando tenga suficiente confianza, cambie todo el tráfico de usuarios de Blue a Green.
  4. 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 namespace

Cambiar 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.yaml

Reversiones 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 CI/CD with GitHub Actions & DevOps Pipelines, actualiza a CoddyKit PRO. El curso de CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?

No se requiere experiencia previa. CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?

Sí. Cada lección de CI/CD with GitHub Actions & DevOps Pipelines 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

  1. Despliegues blue/green
  2. Lanzamientos canary con Actions
  3. Reversiones y recuperación ante desastres
  4. Feature flags y despliegues progresivos
← Volver a CI/CD with GitHub Actions & DevOps Pipelines