Skip to main content

Load Balancers

Azure Load Balancer y Azure Application Gateway son ambos servicios de balanceo de carga, pero atienden a propósitos diferentes y ofrecen funcionalidades distintas. Aquí está una visión general de las principales diferencias:

Azure Load Balancer

Azure Load Balancer es un balanceador de carga de nivel de red (Capa 4 del modelo OSI). Distribuye el tráfico de entrada entre varias instancias de máquinas virtuales (VMs) para garantizar alta disponibilidad y escalabilidad.

  • Balanceo de Carga distribuyendo el tráfico con base en IP y puertos.
  • Utiliza reglas de balanceo para distribuir tráfico entre instancias.
  • Configura pools de back-end donde las instancias son añadidas.
  • Incluye monitoreo básico con sondas de salud.
  • Soporta IPs públicas y privadas

Es muy utilizado en aplicaciones que necesitan distribuir el tráfico de redes y sirve para un propósito general.

Azure Application Gateway

Azure Application Gateway es un balanceador de carga de nivel de aplicación (Capa 7 del modelo OSI). Está diseñado para aplicaciones web y proporciona recursos avanzados para gestión y seguridad de tráfico de aplicaciones.

  • Opera en la capa de aplicación, permitiendo balanceo con base en URLs, cabeceras HTTP y otros datos de la capa de aplicación.
  • Incluye un firewall de aplicación web integrado para proteger contra amenazas comunes de la web. Protección contra ataques de web con WAF integrado.
  • Permite el enrutamiento de tráfico con base en URLs específicas.
  • Termina conexiones SSL/TLS y puede desviar tráfico para los back-ends en texto no encriptado.
  • Permite creación de reglas complejas para enrutamiento de tráfico.

FeatureAzure Load BalancerAzure Application Gateway
Operating LayerLayer 4 (TCP/UDP)Layer 7 (HTTP/HTTPS)
Protocol SupportAny TCP/UDPHTTP/HTTPS (Layer 7)
Routing MethodIP address, portURL path, host headers, cookies
Health ProbesBasic TCP/HTTP checksAdvanced HTTP/HTTPS health checks
SSL OffloadingNoYes, with an end-to-end encryption option
Web Application FirewallNoYes, with OWASP rulesets
AutoscalingManualAutomatic based on load
Zone RedundancyAvailableAvailable (v2 SKU)
ScenariosGeneral TCP/UDP load balancingLayer 7 for web apps and APIs
Use CasesInternal and external traffic distribution, outbound NAT for VMsMulti-site hosting, secure web apps, URL-based routing
Other FeaturesHigh throughput, HA ports, diagnostics logsVisual end-to-end monitoring, TLS policy management, customizations
CostLowerHigher with advanced capabilities

Vamos a tomar de ejemplo un AKS que necesitamos de un load balancer, ¿cuál deberíamos usar?

Si usamos Azure Load Balancer tendremos la necesidad de hacer el deploy del nginx que consumirá algún recursos de nuestro cluster, pero hará el filtro de las requisiciones. En caso de ataque DDOS, es muy bueno que estemos detrás de un servicio que pueda ayudarnos a parar el ataque como en el caso de Cloudflare.

Si usamos Application Gateway las reglas serán aplicadas directamente en él evitando el deploy del nginx en nuestro cluster llevando toda filtración de las requisiciones para dentro del Application Gateway. Este también posee recursos WAF para ayudar a mitigar un posible ataque. Obviamente que pagarás más por eso. Nada impide estar aún detrás de Cloudflare para tener dos capas de protección.

Todo depende del propósito del cluster.