Skip to main content

Load Balancers

Azure Load Balancer e Azure Application Gateway são ambos serviços de balanceamento de carga, mas eles atendem a propósitos diferentes e oferecem funcionalidades distintas. Aqui está uma visão geral das principais diferenças:

Azure Load Balancer

O Azure Load Balancer é um balanceador de carga de nível de rede (Camada 4 do modelo OSI). Ele distribui o tráfego de entrada entre várias instâncias de máquinas virtuais (VMs) para garantir alta disponibilidade e escalabilidade.

  • Balanceamento de Carga distribuindo o tráfego com base em IP e portas.
  • Utiliza regras de balanceamento para distribuir tráfego entre instâncias.
  • Configura pools de back-end onde as instâncias são adicionadas.
  • Inclui monitoramento básico com sondas de saúde.
  • Suporta IPs públicos e privados

É muito utilizado em aplicações que precisam distribuir o tráfego de redes e serve para um propósito geral.

Azure Application Gateway

O Azure Application Gateway é um balanceador de carga de nível de aplicativo (Camada 7 do modelo OSI). Ele é projetado para aplicações web e fornece recursos avançados para gerenciamento e segurança de tráfego de aplicações.

  • Opera na camada de aplicação, permitindo balanceamento com base em URLs, cabeçalhos HTTP e outros dados da camada de aplicação.
  • Inclui um firewall de aplicativo web integrado para proteger contra ameaças comuns da web. Proteção contra ataques da web com WAF integrado.
  • Permite o roteamento de tráfego com base em URLs específicas.
  • Termina conexões SSL/TLS e pode desviar tráfego para os back-ends em texto não criptografado.
  • Permite criação de regras complexas para roteamento de tráfego.

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 pegar de exemplo um AKS que precisamos de um load balancer qual deveríamos usar?

Se usarmos o Azure Load Balancer teremos a necessidade de fazer o deploy do nginx que irá consumir algum recursos do nosso cluster, mas fará o filtro das requisições. Em caso de ataque DDOS, é muito bom que estejamos atrás de um serviço que possa nos ajudar a parar o ataque como no caso da Cloudflare.

Se usarmos o Application Gateway as regras serão aplicadas diretamente nele evitando o deploy do nginx no nosso cluster levando toda filtragem das requisições para dentro do Application Gateway. Este também possui recursos WAF para ajuda a mitigar um possível ataque. Obviamente que você irá pagar mais por isso. Nada impede de estar ainda atrás da Cloudflare para ter duas camadas de proteção.

Tudo depende do propósito do cluster.