Explorar o balanceamento de carga

Concluído

O termo “balanceamento de carga” refere-se à distribuição uniforme de cargas de trabalho (isto é, tráfego de rede de entrada), em um grupo de servidores ou recursos de computação de back-end. O balanceamento de carga visa otimizar o uso de recursos, maximizar a taxa de transferência, minimizar o tempo de resposta e evitar sobrecarregar qualquer recurso único. Ele também pode melhorar a disponibilidade através do compartilhamento de uma carga de trabalho entre recursos de computação redundantes.

Opções de balanceamento de carga para o Azure

O Azure fornece vários serviços de balanceamento de carga que você pode usar para distribuir suas cargas de trabalho em vários recursos de computação, mas os seguintes são os principais serviços:

  • Azure Load Balancer: serviço de balanceamento de carga de camada 4 de alto desempenho, ultrabaixa latência (entrada e saída) para todos os protocolos UDP e TCP. Ele foi criado para lidar com milhões de solicitações por segundo, garantindo que a sua solução esteja altamente disponível. O Azure Load Balancer tem redundância de zona, garantindo alta disponibilidade nas zonas de disponibilidade.
  • Gerenciador de Tráfego: balanceador de carga de tráfego baseado em DNS que permite distribuir o tráfego de forma ideal para serviços em regiões globais do Azure, fornecendo alta disponibilidade e capacidade de resposta. Como o Gerenciador de Tráfego é um serviço de balanceamento de carga baseado em DNS, ele faz o balanceamento de carga somente no nível de domínio. Por esse motivo, ele não pode fazer failover tão rapidamente quanto o Azure Front Door, devido a desafios comuns relacionados ao cache do DNS e sistemas que não respeitam os valores de vida útil (TTLs) do DNS.
  • Gateway de Aplicativo do Azure: fornece o ADC (controlador de entrega de aplicativos) como um serviço, oferecendo vários recursos de balanceamento de carga de camada 7. Use-o para otimizar a produtividade do Web farm através do descarregamento da terminação SSL com uso intensivo de CPU para o gateway.
  • Azure Front Door: rede de entrega de aplicativos que fornece balanceamento de carga global e serviço de aceleração de site para aplicativos Web. Ele oferece recursos de camada 7 para seu aplicativo, como descarregamento de SSL, roteamento baseado em caminho, failover rápido, cache, etc., para melhorar o desempenho e a alta disponibilidade dos seus aplicativos.

Categorizando serviços de balanceamento de carga

Os serviços de balanceamento de carga acima podem ser categorizados de duas maneiras: global versus regional e HTTP(S) versus não HTTP(S).

Global versus regional

Os serviços de balanceamento de carga globais distribuem o tráfego por nuvens, back-ends regionais ou serviços locais híbridos. Esses serviços roteiam o tráfego do usuário final para o back-end disponível mais próximo. Eles também reagem a alterações na confiabilidade ou no desempenho do serviço, para maximizar a disponibilidade e o desempenho. Você pode considerá-los como sistemas que balanceiam a carga entre carimbos de aplicativo, pontos de extremidade ou unidades de escala hospedados em diferentes regiões/áreas geográficas.

Em contraste, os serviços de balanceamento de carga regionais distribuem o tráfego dentro de redes virtuais pelas máquinas virtuais (VMs) ou pelos pontos de extremidade de serviço zonais e com redundância de zona em uma região. Você pode considerá-los como sistemas que equilibram a carga entre VMs, contêineres ou clusters em uma região em uma rede virtual.

HTTP(S) versus não HTTP(S)

Os serviços de balanceamento de carga de HTTP(S) são balanceadores de carga de camada 7 que aceitam apenas tráfego HTTP(S). Eles são destinados a aplicativos Web ou outros pontos de extremidade HTTP(S). Eles incluem recursos como descarregamento de SSL, firewall do aplicativo Web, balanceamento de carga baseado em caminho e afinidade de sessão.

Em contraste, os serviços de balanceamento de carga não HTTP(S) podem manipular o tráfego não HTTP(S) e são recomendados para cargas de trabalho não Web.

A tabela a seguir resume essas categorizações para cada serviço de balanceamento de carga do Azure.

Serviço Global/regional Tráfego recomendado
Porta da frente do Azure Global HTTP(S)
Gerenciador de Tráfego Global Não HTTP(S)
Gateway de Aplicativo Regional HTTP(S)
Azure Load Balancer Regional ou Global Não HTTP(S)

Escolher uma opção de balanceamento de carga para o Azure

Ao escolher uma opção de balanceamento de carga apropriada, há alguns fatores importantes a serem considerados:

  • Tipo de tráfego: é para um aplicativo Web? É um aplicativo público ou privado?
  • Escopo: você precisa balancear a carga de máquinas virtuais e contêineres de uma rede virtual ou balancear a carga em diversas regiões? Ou ambas as opções? (confira “Global versus regional” acima)
  • Disponibilidade: o que é o Contrato de Nível de Serviço (SLA) para o serviço?
  • Custo: além do custo do serviço em si, considere o custo operacional para gerenciar e manter uma solução criada nesse serviço. Confira Preços de balanceamento de carga.
  • Recursos e limitações: quais recursos e benefícios cada serviço fornece e quais são as limitações? Confira Limites do balanceador de carga.

O fluxograma abaixo ajudará a selecionar a solução de balanceamento de carga mais apropriada para seu aplicativo. Isso será feito através da orientação por um conjunto de importantes critérios de decisão a fim de se alcançar uma recomendação.

flow chart to help select a load-balancing solution for your application.

Como cada aplicativo terá os próprios requisitos exclusivos, você só deve usar esse fluxograma e a recomendação sugerida como ponto de partida e, em seguida, executar uma avaliação mais detalhada por conta própria a fim de selecionar a melhor opção para o seu ambiente.

Se o aplicativo tem várias cargas de trabalho, avalie cada carga de trabalho separadamente. Uma solução completa pode incorporar duas ou mais soluções de balanceamento de carga.

Selecionar uma solução de balanceamento de carga usando o portal do Azure

Você pode usar a página Balanceamento de carga do Azure no portal do Azure para ajudar na escolha da solução de balanceamento de carga correta para a sua necessidade comercial. O balanceamento de carga do Azure inclui as consultas de tomada de decisão descritas no diagrama de fluxo de trabalho acima.

  • Entre no portal do Azure em: https://portal.azure.com.

  • Na caixa de pesquisa na parte superior da página, digite “balanceamento de carga”. Quando a mensagem Balanceamento de carga: ajude-me a escolher (visualizar) aparecer nos resultados da pesquisa, selecione-a.

    Azure portal screenshot of Load balancing - help me choose.

  • Responda às perguntas fechadas nessa página para obter uma solução recomendada. Observe que a solução final recomendada pode ser uma combinação de vários serviços de balanceamento de carga.

    Azure portal screenshot load balancing help me choose.

  • Dependendo das respostas que você der, a lista de possíveis serviços de balanceamento de carga será alterada.

    Azure portal screenshot Load balancing help me choose.

  • Opcionalmente, você também pode selecionar as guias Comparação de serviço ou Tutorial para obter mais informações e treinamento sobre os diferentes serviços de balanceamento de carga.

Agora, vamos examinar mais detalhadamente cada um dos principais serviços de balanceamento de carga do Azure.

Verificar seu conhecimento

1.

Um engenheiro tem um aplicativo Web seguro que enfrenta tráfego alto e deseja usar um balanceador de carga para distribuir a carga de trabalho. Quais balanceadores de carga darão suporte a esse tipo de tráfego?

2.

Que tipos de serviços de balanceamento de carga distribuem o tráfego entre back-ends globais para aplicativos Web?