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:
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.
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:
Ahora, adentrémonos en los detalles para explorar en las características que ofrece:
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.
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.
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.
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.
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 TLS | Front 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ódigo | Front 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. |
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.
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 | Desventajas |
---|---|
Mejora el rendimiento | Coste Adicional |
Mejora de la disponibilidad | Configuración Inicial Compleja |
Seguridad Mejorada |
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.
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.
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.
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.