Domina el flujo del tráfico con Azure Traffic Manager

En este artículo veremos cómo mediante este servicio basado en DNS puedes optimizar el flujo de tráfico en tus aplicaciones.

Azure Traffic Manager es un servicio global de balanceador de carga de tráfico basado en DNS, por lo tanto, opera en la capa de DNS (Sistema de Nombres de Dominio). Su función es dirigir el tráfico de manera inteligente y eficiente entre diferentes puntos de conexión de una aplicación, distribuyendo las solicitudes de DNS entrantes de los clientes según las reglas de enrutamiento que definamos, a la vez que monitoriza constantemente la salud de esos puntos de conexión en tiempo real.

Cuando un cliente intenta conectarse a un servicio, debe resolver primero el nombre DNS del servicio en una dirección IP. Luego, el cliente se conecta a esa dirección IP para tener acceso al servicio. Traffic Manager utiliza DNS para dirigir a los clientes a puntos de conexión específicos del servicio basados en las reglas del método de enrutamiento de tráfico, así los clientes se conectan directamente al punto de conexión indicado. Es importante entender que Traffic Manager no es un proxy ni una puerta de enlace, ya que no ve el tráfico que circula entre el cliente y el servicio.

Traffic Manager utiliza perfiles que podemos crear para controlar el tráfico a los servicios en la nube o a los puntos de conexión de sitios web (perfiles anidados).

Existen 6 métodos de enrutamiento de tráfico que podemos configurar para indicarle cómo debe enrutar el tráfico de la red a los puntos de conexión del servicio. Esto nos sirve para establecer que punto de conexión se devuelve en la respuesta de DNS. Cada uno de ellos está diseñado para satisfacer diferentes necesidades de distribución y direccionamiento del tráfico.

Vamos a ver estas opciones con ejemplos para entender las diferencias entre los diferentes métodos de enrutamiento:

Rendimiento: Imagina que estás en un viaje por carretera y quieres parar a comer. Vas al restaurante más cercano para ahorrar tiempo. Eso es enrutamiento de rendimiento. Este método es ideal si trabajamos con varias ubicaciones geográficas, ya que se encargará de dirigir a los usuarios al punto de conexión más cercano con la menor latencia de red, optimizando la experiencia del usuario al conectarse al punto de conexión con menor tiempo de respuesta.

Ponderado: Supongamos que tienes dos restaurantes favoritos. Te gusta uno un poco más que el otro, así que vas allí el 60% de las veces y al otro el 40% de las veces, esto es lo que sería el enrutamiento ponderado. Podemos distribuir el tráfico de manera desigual entre diferentes puntos de conexión según su capacidad de procesamiento, ya que con la ponderación establecemos la cantidad de tráfico que cada punto de conexión puede recibir.

Prioridad: Imagina que tienes una lista de restaurantes favoritos. Siempre vas al primero de la lista, pero si está cerrado, vas al segundo restaurante de la lista y así sucesivamente. Eso es enrutamiento por prioridad, cuando queremos tener un punto de conexión principal para todo el tráfico con opción de utilizar puntos de conexión segundarios en caso de la falla del punto de conexión principal.

Geográfico: Ahora imagina que estás de viaje y quieres probar la comida local. Vas a un restaurante que sirve comida de la región en la que te encuentras, eso sería el enrutamiento geográfico. En este caso, dirige a los usuarios a puntos de conexión específicos según su ubicación geográfica de sus consultas de DNS. Resulta de utilidad para cumplir con los requisitos de cumplimiento normativo de la soberanía de datos, localización de contenido y mejora de la experiencia de los usuarios en diferentes regiones.

Multivalor: Esta vez imagina que estás organizando una fiesta y quieres pedir pizza. Llamas a todas tus pizzerías favoritas y hacer el encargo a cada una de ellas, eso sería el enrutamiento multivalor. Esta opción es para perfiles que solo tienen direcciones IPv4/IPv6 como puntos de conexión. Cuando se reciba una consulta, se devuelven los puntos de conexión correctos.

Subred: Ahora supón que estás en una ciudad que tiene diferentes barrios. Cada barrio tiene su propio restaurante favorito. Dependiendo del barrio en el que te encuentres, vas a un restaurante específico. En este caso se asigna un conjunto de intervalos de direcciones IP de usuarios finales a puntos de conexión determinados. Cuando se recibe una solicitud desde una dirección IP específica, se devuelve el punto de conexión asignado para esa dirección IP. Puede ser de utilidad en escenarios donde queremos dirigir el tráfico de subredes específicas a los servidores.

CARACTERÍSTICAS DEL TRAFFIC MANAGER

Traffic Manager cuenta con las siguientes características:

  • Distribución de tráfico

Funciona en el nivel de DNS para dirigir las solicitudes de los clientes a puntos de conexión específicos, proporcionando métodos de enrutamiento de tráfico configurables.

  • Supervisión continua

Monitorea de forma constante el estado de los puntos de conexión en tiempo real. Además, permite la conmutación automática por error en caso de fallos en los puntos de conexión.

  • Alta disponibilidad

Optimiza la capacidad de respuesta del sitio web al dirigir el tráfico al punto de conexión con menor latencia, lo cual te puede resultar útil en los casos en los que dispones de entornos globales y trabajas con varias regiones.

  • Mantenimiento sin inactividad

Facilita realizar un mantenimiento planificado al dirigir el tráfico a puntos de conexión alternativos durante la actividad de mantenimiento.

  • Compatibilidad híbrida

Admite puntos de conexión externos permitiendo implementaciones híbridas entre entornos locales y de nube. Es de gran utilidad en escenarios de migración, implementación y conmutación por error a la nube.

  • Escalabilidad y flexibilidad

Mediante perfiles anidados permite utilizar reglas complejas y flexibles para satisfacer las necesidades de escalado en implementaciones más grandes y complejas.

No debemos de confundir estas características con la de otros balanceadores disponibles.

Adicionalmente, si tienes dudas sobre que balanceador necesitas utilizar, en la primera pestaña puedes encontrar recomendaciones apropiadas para cada caso respondiendo a las preguntas del asistente

VENTAJAS DEL USO DE TRAFFIC MANAGER

Y en cuanto a las ventajas que nos ofrece el uso de Traffic Manager, podemos destacar las siguientes:

  • Reducción de tiempo de inactividad: Permite realizar mantenimientos planificados sin afectar a la disponibilidad de la aplicación.
  • Mejora de rendimiento global: Optimiza la experiencia del usuario al dirigirlo al punto de conexión más cercano geográficamente, lo cual permite obtener una latencia baja.
  • Alta disponibilidad y resiliencia: Garantiza la continuidad del servicio al realizar conmutación automática por error, incluso en casos en los que se vea afectada toda una región de Azure.
  • Compatibilidad global: Funciona de forma eficiente en entornos distribuidos a nivel mundial mejorando la capacidad de respuesta.
  • Adaptabilidad a escenarios complejos: Permite realizar configuraciones avanzadas y adaptables mediante perfiles anidados.
  • Cumplimiento normativo: Gracias a su capacidad de enrutamiento geográfico permite que los datos y el contenido se mantenga dentro de ciertas regiones para cumplir con las regulaciones en materia de protección de datos.

En conclusión, Traffic Manager es una solución útil para dirigir el tráfico de manera inteligente y eficiente, que cuenta con características y ventajas que te pueden ayudar a proporcionar una experiencia optimizada del servicio y sin interrupciones, mejorando la latencia a la vez que garantiza la continuidad del servicio.

¡Nos vemos en el siguiente artículo!