Construye una implementación de despliegue Azul/Verde con Failover Automático de Nginx

Implementación de despliegue Azul/Verde con Failover Automático de Nginx. Aprende cómo configurar un entorno de despliegue seguro y estable en tu servidor con esta guía detallada.

9 dic 2025 • 5 min read • Q2BSTUDIO Team

Implementación de despliegue Azul/Verde con Failover Automático de Nginx

En Q2BSTUDIO transformamos ideas en soluciones reales y seguras. En este artículo explicamos paso a paso cómo construir una implementación Azul/Verde con failover automático usando Nginx y Docker Compose, ideal para equipos que buscan cero downtime al desplegar nuevas versiones de aplicaciones a medida y software a medida, con observabilidad y pruebas de caos integradas. También ponemos énfasis en buenas prácticas que conectan con servicios cloud como Servicios cloud AWS y Azure y capacidades de inteligencia artificial para empresas.

Concepto rápido y analogía culinaria: imagina dos cocinas idénticas, Azul y Verde. Una atiende clientes, la otra está lista y caliente. Si la cocina activa tiene problemas, Nginx redirige silenciosamente los pedidos a la reserva y nadie nota la diferencia. Eso es Blue/Green con failover instantáneo.

Arquitectura y componentes principales: Nginx actúa como puerta de entrada y decide a qué pool enviar tráfico, registra en JSON y reintenta rápido antes de pasar al backup. Dos instancias de la misma aplicación Node.js representan Azul y Verde y exponen endpoints para health, version y endpoints de caos para probar failover. Un Dockerfile construye la imagen una sola vez y docker-compose arranca las dos instancias, Nginx y opcionalmente un watcher que envía alertas a Slack. Un archivo nginx.conf se templatiza para seleccionar dinámicamente quién es primario mediante una variable de entorno ACTIVE_POOL. Opcionalmente un watcher en Python lee los logs JSON y notifica cuando ocurre un failover o una subida de errores.

Qué aprenderás: fundamentos Azul/Verde; cómo Nginx enruta a un primario y hace failover inmediato al backup; por qué checks de salud, timeouts cortos y reintentos aceleran el failover; cómo añadir endpoints de caos para demostrar el comportamiento; cómo leer logs estructurados y mandar alertas; y cómo unir todo con Docker Compose sin necesitar Kubernetes. Esto es muy aplicable a proyectos de aplicaciones a medida y a pipelines CI/CD en entornos cloud.

Resumen de archivos y qué hacen: package.json define dependencias mínimas. app.js es un servidor Express con endpoints /healthz, /version y /chaos/start y /chaos/stop para simular errores y timeouts; también añade cabeceras X-App-Pool y X-Release-Id para trazabilidad. Dockerfile construye la imagen única que usarán ambos pools. nginx.conf.template define upstreams azul y verde, con settings como max_fails=1 y fail_timeout=3s, y timeouts cortos proxy_connect_timeout 1s y proxy_read_timeout 3s para forzar failover rápido. docker-compose.yaml orquesta app-blue, app-green, nginx y alert_watcher. .env centraliza ACTIVE_POOL, RELEASE_ID y umbrales de alertas.

Pasos esenciales para implementarlo: crear el proyecto desde cero y añadir los archivos mencionados. Construir la imagen con docker compose build o dejar que docker compose up -d la construya. Usar docker compose up -d para arrancar el stack y docker compose ps para comprobar contenedores. Verificar por salud y cabeceras con curl hacia Nginx y directo a cada app en los puertos mapeados.

Pruebas de caos para demostrar failover: con Azul como activo, iniciar caos en Azul con una petición POST a /chaos/start?mode=error o mode=timeout para simular errores o bloqueos. A través de Nginx las peticiones deberían pasar al pool Verde sin que los clientes vean errores si la configuración de timeouts y reintentos es adecuada. Luego detener el caos con /chaos/stop y observar cómo el primario se recupera. Para cargas ligeras usar un pequeño loop curl para validar comportamiento bajo tráfico.

Observabilidad y alertas: Nginx genera access logs en JSON que contienen campos como pool y release. Un watcher opcional puede tailear esos logs y publicar alertas en Slack cuando detecte failover o tasas de error superiores a un umbral configurado. Esto ayuda a operaciones y a equipos de SRE a reaccionar rápidamente. Para empresas que combinan monitorización con inteligencia de negocio y Power BI se puede integrar el envío de logs a un almacén centralizado y crear dashboards de disponibilidad y errores, alineado con servicios de inteligencia de negocio y power bi.

Comandos útiles: docker compose up -d para levantar; docker compose down para apagar; docker compose down -v --rmi all para limpiar por completo. Para pruebas dirigidas curl https://localhost:8080/version consulta Nginx, mientras que curl https://localhost:8081/version y curl https://localhost:8082/version apuntan directo a Azul y Verde respectivamente.

Problemas comunes y soluciones rápidas: puertos ocupados arreglar mapeos en compose; si no hay failover comprobar /healthz, timeouts y que Nginx pase cabeceras; si faltan cabeceras asegurar que la app define X-App-Pool y X-Release-Id; si Slack no recibe alertas verificar webhook y conectividad de salida; para failover lento ajustar proxy_connect_timeout, max_fails y fail_timeout.

Beneficios clave: cero downtime al hacer despliegues, mayor confianza al comprobar failover con pruebas de caos, claridad operativa gracias a logs estructurados y cabeceras que permiten saber quién atendió cada petición, y simplicidad operativa usando Docker Compose y Nginx en lugar de orquestadores más complejos. Esto es especialmente valioso para proyectos de software a medida que necesitan despliegues seguros y repetibles.

Cómo encaja con los servicios de Q2BSTUDIO: si buscas desarrollar aplicaciones robustas y escalables nosotros ofrecemos servicios de desarrollo de aplicaciones y software a medida con enfoque en seguridad y operaciones. Conectamos entregas a pipelines CI/CD, automatización de procesos y despliegues en la nube. Para una solución completa que combine desarrollo a medida con despliegues en la nube, considera conocer nuestras opciones de desarrollo de aplicaciones y software multiplataforma y de servicios cloud AWS y Azure. También ofrecemos ciberseguridad y pentesting para validar la resiliencia de tus despliegues, inteligencia artificial aplicada, agentes IA y soluciones de inteligencia de negocio como Power BI para transformar logs y métricas en decisiones estratégicas.

Siguientes pasos y recomendaciones: añadir un pipeline CI para construir y etiquetar imágenes blue y green, integrar envío de logs a una plataforma centralizada para dashboards, ampliar alertas a email o PagerDuty y considerar canary releases para migraciones de tráfico más graduales. Si necesitas ayuda para implementar esta arquitectura, hacer pruebas de caos o integrar IA en el proceso de observabilidad, el equipo de Q2BSTUDIO puede acompañarte en diseño, implementación y operación continua.

Resumen final: construiste una implementación Azul/Verde con failover automático usando Nginx y Docker Compose, añadiste endpoints de caos para probar resiliencia, y opcionalmente configuraste alertas y monitoreo. Esta aproximación reduce riesgos durante despliegues y es compatible con servicios avanzados como inteligencia artificial, ciberseguridad y soluciones cloud que ofrecemos en Q2BSTUDIO para empresas que aspiran a transformar sus operaciones digitales.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat