Un corte gradual es mejor que uno instantáneo
Azul
100 % del tráfico
División ponderada
95/5, luego 50/50
Verde
100 % del tráfico
Despliegues blue-green y conmutación por DNS
Un despliegue blue-green mantiene en marcha dos entornos de producción completos (uno activo, «blue», y otro inactivo pero totalmente desplegado y listo, «green») y traslada el tráfico de uno a otro con un único cambio rápido, en lugar de una actualización gradual. Una forma habitual de implementar ese cambio, sobre todo entre infraestructuras o proveedores distintos, es un cambio de DNS: actualizar el registro del dominio para que apunte a la dirección del entorno green una vez verificado que está sano.
Dónde se queda corta la versión simple
Una conmutación por DNS no es instantánea como suele serlo cambiar el grupo de destino de un balanceador de carga. Cada resolvedor que guardó en caché la respuesta antigua (blue) sigue sirviéndola hasta que caduca el TTL de ese registro; es decir, durante una ventana de tiempo proporcional al TTL, una parte del tráfico sigue llegando al entorno que acabas de intentar abandonar. Con un TTL de una hora, eso supone potencialmente una hora de tráfico dividido entre ambos entornos hasta que la conmutación esté completa en todas partes.
- Reduce el TTL con bastante antelación a la conmutación prevista, idealmente al menos un ciclo completo del TTL antiguo antes, de modo que en el momento del cambio todos los resolvedores ya hayan vuelto a guardar en caché el valor con el nuevo TTL, más corto.
- Mantén el entorno antiguo (blue) en marcha y sano al menos durante la ventana del TTL posterior a la conmutación, sin retirarlo de inmediato: durante esa ventana sigue recibiendo tráfico real.
- Verifica la conmutación consultando el DNS directamente en lugar de limitarte a revisar los registros de la aplicación: así confirmas que el propio registro cambió, con independencia de cuánto tráfico lo haya alcanzado ya.
- Vuelve a subir el TTL a su valor normal solo cuando estés seguro de que la conmutación está completa y es estable.
La alternativa gradual: DNS ponderado
En lugar de cambiar todos los resolvedores a la vez y confiar en que el entorno green aguante de inmediato toda la carga de producción, varios proveedores de DNS admiten políticas de enrutamiento ponderado (o basado en porcentajes): el 95 % de las respuestas apunta a blue, el 5 % a green, y ese reparto se va desplazando gradualmente (80/20, 50/50 y así sucesivamente) a medida que crece la confianza en el nuevo entorno.
| Conmutación total | Despliegue ponderado | |
|---|---|---|
| Alcance de un problema | El 100 % del tráfico, de inmediato | Una porción pequeña y controlable |
| Velocidad de reversión | Rápida, pero lo revierte todo a la vez | Rápida y reversible en pasos graduales |
| Complejidad de la configuración | Sencilla: se cambia un registro | Requiere un proveedor que admita registros ponderados |
| Mejor encaje | Cambios pequeños y bien probados | Cambios de alto riesgo en infraestructura crítica |
Sacrificas la simplicidad de un cambio único y limpio a cambio de poder detectar un problema mientras solo afecta a una porción pequeña del tráfico, y de volver al 100 % en blue en segundos si green no estaba listo, en lugar de tener que revertir una conmutación completa bajo presión.
Verificar cualquiera de los dos enfoques de la misma manera
Sea cual sea la estrategia, el paso de verificación es idéntico: resuelve el dominio repetidamente, desde más de un punto de observación, y confirma que el reparto observado coincide con el configurado. Una política ponderada que debía enviar el 10 % del tráfico a green pero en realidad envía el 40 % (por un peso mal configurado, o porque algunos resolvedores guardan en caché y no repiten el sorteo del reparto tan a menudo como se esperaba) es justo el tipo de desviación que solo se detecta comprobando las respuestas resueltas reales, en lugar de confiar en que el panel del proveedor de DNS refleje la realidad a la perfección.
¿Necesitas comprobar las direcciones DNS públicas de un dominio? Usa la herramienta Domain IP Lookup.
Lecturas relacionadas
Una IP, un servidor, o una IP, muchos
Unicast
Una IP corresponde a un único servidor
Anycast
Una IP, anunciada desde muchas ubicaciones
Anycast DNS explicado
La misma dirección IP, anunciada a la vez desde decenas de ubicaciones: así es como anycast mantiene rápidos y resilientes a los grandes proveedores de DNS.
Por qué una consulta muestra la CDN y no el origen
Visitante
consulta el dominio
Borde de la CDN
104.21.x.x
esto devuelve el DNS
Servidor de origen
IP real, nunca expuesta
Cómo usan las CDN el DNS para enrutar el tráfico global
La verdadera magia de una red de entrega de contenido ocurre en la capa DNS, antes de que se solicite un solo byte de contenido.
Un nombre de host, varios registros A
1.ª respuesta
93.184.216.34
2.ª respuesta
93.184.216.35
3.ª respuesta
93.184.216.36
El resolvedor devuelve todos los registros, normalmente en orden rotatorio
DNS round-robin explicado: reparte el tráfico entre IP
Descubre cómo el DNS round-robin devuelve varias direcciones, qué puede y qué no puede hacer para repartir carga y cómo influye la caché en lo que observas.