Azure Front Door: Content Delivery seguro y de alto rendimiento

Azure_Front_Door

Azure Front Door: Content Delivery seguro y de alto rendimiento

Durante estos últimos meses, hemos estado desarrollando un proyecto en un cliente en el que teníamos que cubrir diversas necesidades en la arquitectura Azure de su página web corporativa.

En este caso, la principal premisa era disponer de un WAF (Web Application Firewall), pero ¿qué hay sobre el contenido? ¿De qué elementos disponemos para mejorar la entrega del contenido y así mejorar la experiencia del usuario con la web? 

Básicamente teníamos dos servicios de Azure

  • Azure Gateway 
  • Azure Front Door 

Inicialmente, puede parecer que la elección entre Azure Application Gateway y Azure Front Door es una decisión trivial.

Azure Application Gateway es ampliamente conocido debido a su mayor adopción y su presencia en el mercado durante más tiempo. Sin embargo, llegamos a la conclusión de que Azure Front Door era la opción más adecuada. Su conjunto de características y funcionalidades específicas nos convencieron de que era la solución ideal para nuestro caso. 

¿Por qué fue la opción que escogimos para este caso en particular?

A continuación, explicaremos detalladamente los motivos que nos llevaron a ello. 

Azure Front Door es un servicio ofrecido por Microsoft Azure que tiene la función de gestionar el flujo de tráfico y distribuir contenido en aplicaciones web y servicios en la nube. Su diseño se centra en abordar tres aspectos fundamentales en este tipo de aplicaciones:

  • Mejora el rendimiento: Trabaja una serie de características en conjunto para optimizar la entrega de contenido, reducir la latencia y mejorar la experiencia del usuario.
  • Mejora la disponibilidad: Al aprovechar la redundancia geográfica, el enrutamiento inteligente, la detección y mitigación de fallos, y la protección contra ataques. Estas capacidades garantizan disponibilidad continua y confiable de tu aplicación o servicio para los usuarios finales.
  • Mejora la Seguridad: Ofrece una protección completa contra ataques DDoS, certificados SSL/TLS gestionados, autenticación y autorización avanzadas, filtrado de contenido y un Firewall de aplicaciones web integrado. Estas características se combinan para mitigar riesgos de seguridad, proteger aplicaciones y servicios web, y asegurar confidencialidad, integridad y disponibilidad de datos.

Características de Front Door

Ahora, adentrémonos en los detalles para explorar en las características que ofrece:

1. Enrutamiento Inteligente

Front Door usa enrutamiento inteligente para dirigir solicitudes a endpoints cercanos y de baja latencia. Gracias a ello, se maximiza el rendimiento de la aplicación al minimizar la distancia y los posibles cuellos de botella en la red. Y en consecuencia, los usuarios experimentan una mejora notable en la velocidad de carga de la aplicación, lo cual contribuye a una experiencia más ágil y satisfactoria.

2. Balanceo de carga Global (Global Load Balancing)

Función integral y crucial en la optimización de la distribución de carga en entornos de múltiples instancias de aplicaciones. Se refiere a la capacidad de distribuir la carga de manera eficiente. Optimizando el rendimiento, la disponibilidad y la escalabilidad de las aplicaciones en entornos de múltiples instancias. Al asegurar una distribución equilibrada de las solicitudes, se logra una mayor eficiencia en el uso de los recursos y una experiencia de usuario mejorada en todo momento.

3. Escalabilidad Automática

Al igual que la mayoría de los servicios de Azure, Front Door permite la configuración para ajustar automáticamente la capacidad de nuestra infraestructura en función de la carga de trabajo. Esto garantiza una escalabilidad adecuada para manejar fluctuaciones en la demanda y optimizar los recursos disponibles.

4. Optimización de la entrega de contenido

Front Door utiliza técnicas de caching y compresión para entregar el contenido estático de modo más eficiente. Con lo que, aparte de reducir los tiempos de carga, también reduciremos los costes de computación ya que no será necesario que las peticiones lleguen al AppService, ya que el contenido lo tendrá en cache Azure Front Door. 

5. Seguridad Avanzada

Es un aspecto crucial que influyó en gran medida en nuestra decisión de implementar Azure Front Door. Este servicio nos brinda una capa adicional de protección al actuar como un único punto de entrada a nuestras aplicaciones web. Al configurar Front Door, podemos aprovechar varias medidas de seguridad, entre las que se incluyen:

Reglas de WAF (Web Application Firewall)Front Door nos permite establecer reglas de firewall de aplicaciones web para proteger nuestras aplicaciones contra amenazas comunes. Como ataques de inyección SQL, cross-site scripting (XSS) y otros tipos de ataques a nivel de aplicación. Estas reglas ayudan a detectar y bloquear actividades maliciosas, asegurando la integridad y la confidencialidad de nuestros datos. 
Protección contra DDoS (Denial of Service)Azure Front Door nos brinda protección contra ataques de denegación de servicio distribuidos (DDoS). Al funcionar como una capa de entrada, Front Door puede mitigar y filtrar el tráfico no deseado. Protegiendo nuestras aplicaciones web y garantizando su disponibilidad incluso durante ataques DDoS.
Uso de SSL y TLSFront Door admite la configuración de certificados SSL/TLS para habilitar conexiones seguras entre los usuarios y nuestras aplicaciones. Esto asegura que la información transmitida esté encriptada y protegida contra posibles interceptaciones o manipulaciones no autorizadas.
Protección contra ataques de inyección de códigoFront Door brinda protección contra ataques de inyección de código, evitando la ejecución de código malicioso en nuestras aplicaciones. Medidas de seguridad como validación de entradas y prevención de ejecución de código no autorizado previenen ataques y aseguran la integridad de aplicaciones y datos.
Veamos un claro ejemplo de la utilización de un único punto de entrada, mejorando la seguridad:

Si observamos detenidamente estas dos arquitecturas en las que Azure Front Door está presente, podemos comprender claramente que su función principal es actuar como el único punto de entrada. Esto significa que todas las solicitudes de los usuarios se dirigen primero a Azure Front Door. Este se encarga de gestionar y redirigir el tráfico hacia los diferentes servicios o endpoints correspondientes.

Arquitectura Genérica para Aplicaciones Web 
Arquitectura_2
Almacenamiento optimizado con clasificación de datos lógicos 
Arquitectura_3

Ventajas y desventajas de Azure Front Door 

En el caso que comentábamos al principio de este artículo, Front Door fue la elección más adecuada, pero podría haber sido otro servicio de Azure. Veamos las ventajas y las desventajas de Azure Front Door: 

Ventajas de Azure Front Door

  • Mejora del rendimiento: Azure Front Door utiliza enrutamiento inteligente y balanceo de carga global para optimizar el rendimiento de la aplicación y garantizar una experiencia más rápida para los usuarios.
  • Mejora de la disponibilidad: Al equilibrar la carga y redirigir las solicitudes a endpoints disponibles, Front Door mejora la disponibilidad de la aplicación y reduce el riesgo de tiempo de inactividad.
  • Seguridad avanzada: Front Door actúa como un punto de entrada único y ofrece funciones de seguridad como firewall de aplicaciones web (WAF) y protección contra ataques de denegación de servicio (DDoS), lo que contribuye a proteger la aplicación contra amenazas.
  • Optimización de la entrega de contenido: Azure Front Door utiliza técnicas de almacenamiento en caché y compresión para entregar contenido estático de manera más eficiente, lo que reduce los tiempos de carga y optimiza la utilización de recursos.

Desventajas de Azure Front Door

  • Costos adicionales: Azure Front Door ofrece diferentes niveles de precios (tiers) basados en el tráfico de red y las reglas de enrutamiento implementadas. Dependiendo de la configuración y el uso, puede generar costos adicionales en comparación con otras soluciones. También se verá afectado por la región y la cantidad de datos servidos en Azure. Es recomendable tener en cuenta estos factores al evaluar el costo total de utilizar Azure Front Door.
  • Configuración inicial compleja: Configurar y ajustar correctamente Front Door puede requerir conocimientos técnicos y experiencia en la administración de servicios en la nube. La configuración inicial puede ser compleja para aquellos que no están familiarizados con la plataforma Azure.
VentajasDesventajas
Mejora el rendimiento Coste Adicional
Mejora de la disponibilidad Configuración Inicial Compleja 
Seguridad Mejorada 

¿Qué hay de Azure Application Gateway? 

Hemos mencionado que nuestra elección fue Azure Front Door, pero también consideramos el uso de Azure Application Gateway. Ya que ambos servicios están diseñados para optimizar la entrega de contenido en la nube. Aunque una comparación detallada de ambos servicios requeriría un artículo aparte, podemos ofrecer una descripción general de sus diferencias.

Front_Door_Icon

Como hemos visto hasta ahora Azure Front Door se enfoca en mejorar el rendimiento, la disponibilidad y la seguridad mediante características como el enrutamiento inteligente, el balanceo de carga global, la escalabilidad automática y la seguridad avanzada. Está diseñado para actuar como un punto de entrada único para nuestras aplicaciones web, priorizando la optimización de la entrega de contenido.

ApplicationGatewayIcon

Por otro lado, Azure Application Gateway se centra en el enrutamiento de aplicaciones web y el balanceo de carga a nivel de aplicación. Proporciona una solución para gestionar el tráfico y mejorar la seguridad, el rendimiento y la disponibilidad de las aplicaciones web.

En nuestro proyecto, elegimos Azure Front Door debido a su enfoque integral en la optimización de la entrega de contenido, lo cual era una prioridad para nosotros. La elección entre ambos servicios dependerá de los requerimientos y necesidades específicas de cada proyecto y las aplicaciones web a implementar.


Podemos afirmar que el punto fuerte de Front Door es el contenido, un Content Delivery Network (CDN). Además de ser el balanceo de carga (NLB) el punto fuerte de Azure Application Gateway.

En conclusión…

Después de presentar los servicios Azure Gateway y Azure Front Door, analizamos que Azure Front Door es una solución ideal para cubrir las necesidades de una página web corporativa. Además de sus características avanzadas de rendimiento, disponibilidad y seguridad en la nube.

Ofrece routing inteligente, balanceo de carga global, escalabilidad automática y seguridad avanzada. Además, optimiza la entrega de contenido mediante caching y compresión. Considerando costos y complejidad de implementación, como es típico en los servicios de Azure.

Se eligió Azure Front Door en lugar de Azure Application Gateway debido a su capacidad como Content Delivery Network (CDN). Por otro lado, Azure Application Gateway se destaca por el balanceo de carga (NLB) y el routing de aplicaciones web.

En resumen, Azure Front Door fue la elección adecuada. Esto es debido a sus características que mejoraron la distribución de contenido, el rendimiento y la seguridad.

Oriol Fernandez – Product Owner at Itequia