Opções de balanceamento de carga

Load Balancer
Front Door
Gateway de Aplicativo
Gerenciador de Tráfego

O termo balanceamento de carga refere-se à distribuição de cargas de trabalho em vários recursos de computação. 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.

O Azure fornece vários serviços de balanceamento de carga que você pode usar para distribuir suas cargas de trabalho entre vários recursos de computação – Gateway de Aplicativo, Front Door, Balanceador de Carga e Gerenciador de Tráfego.

Este artigo descreve como você pode usar a página do Hub de Balanceamento de Carga do Azure no portal do Azure para determinar uma solução de balanceamento de carga apropriada para suas necessidades de negócios.

Categorizações de serviço

Os serviços de balanceamento de carga do Azure podem ser categorizados em duas dimensões: 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.

  • 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 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.

  • 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 os serviços de balanceamento de carga do Azure por estas categorias:

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 Não HTTP(S)

Serviços de balanceamento de carga do Azure

Estas são os principais serviços de balanceamento de carga disponíveis no Azure atualmente:

O Azure Front Door é uma 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.

Observação

No momento, o Azure Front Door não dá suporte a Soquetes Web.

O Gerenciador de Tráfego é um 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 TTLs do DNS.

O Gateway de Aplicativo 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.

O Azure Load Balancer é um serviço de balanceamento de carga de Camada 4 de alto desempenho, latência ultrabaixa (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.

Observação

Azure Load Balancer suporte para balanceamento de carga entre regiões está em versão prévia. Para obter mais informações, confira Balanceador de carga entre regiões.

Escolher 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 a orientá-lo para a solução de balanceamento de carga correta para suas necessidades de negócios. O Balanceamento de Carga do Azure inclui as consultas de tomada de decisão descritas no fluxo de trabalho da seção a seguir e podem ser acessadas da seguinte maneira:

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

  2. Na caixa Pesquisar recursos, serviços e documentos na parte superior do portal, digite balanceamento de carga. Quando o Balanceamento de carga aparecer nos resultados da pesquisa, selecione-o.

    Captura de tela de Pesquisar o balanceamento de carga - portal do Azure

    Observação

    Para saber mais sobre alguns dos fatores considerados na seleção de uma solução de balanceamento de carga, confira Árvore de decisão para balanceamento de carga no Azure neste artigo.

  3. Na página Balanceamento de carga – ajude-me a escolher (versão preliminar), siga um destes procedimentos:

    • Para encontrar a solução de balanceamento de carga apropriada para sua empresa, siga as instruções na guia Ajude-me a escolher padrão.

      Captura de tela de Escolher uma solução de balanceamento de carga do Azure - portal do Azure

    • Para saber mais sobre os protocolos com suporte e os recursos de serviço de cada serviço de balanceamento de carga, selecione a guia Comparações de serviço.

    • Para acessar o treinamento gratuito em serviços de balanceamento de carga, selecione a guia Tutorial.

Exemplos de arquitetura de referência

A tabela a seguir lista vários artigos de referência de arquitetura com base nos serviços de balanceamento de carga usados como uma solução.

Serviços Artigo Descrição
Load Balancer VMs (máquinas virtuais) de balanceamento de carga entre zonas de disponibilidade As VMs de balanceamento de carga nas zonas de disponibilidade ajudam a proteger seus aplicativos e dados de uma improvável falha ou perda de um datacenter inteiro. Com redundância de zona, uma ou mais zonas de disponibilidade podem falhar e o caminho de dados sobrevive, desde que uma zona da região permaneça íntegra.
Front Door Compartilhar localização em tempo real usando os serviços do Azure sem servidor de baixo custo Use o Azure Front Door para fornecer maior disponibilidade para os aplicativos em comparação à implantação em uma única região. Se uma interrupção regional afetar a região primária, você poderá usar o Front Door para fazer failover para a região secundária.
Gateway de Aplicativo IaaS: aplicativo Web com banco de dados relacional Saiba como usar recursos distribuídos em várias zonas para fornecer uma arquitetura de HA (alta disponibilidade) para hospedar um aplicativo Web do tipo IaaS (Infraestrutura como Serviço) e um banco de dados do SQL Server.
Gerenciador de Tráfego Aplicativo Web de várias camadas criado para alta disponibilidade e recuperação de desastre no Azure Implanta aplicativos resilientes de várias camadas criados para alta disponibilidade e recuperação de desastre. Se a região primária ficar indisponível, o Gerenciador de Tráfego fará failover para a região secundária.
Azure Front Door + Gateway de Aplicativo SaaS multilocatário no Azure Usa uma solução multilocatário que inclui uma combinação de Front Door e Gateway de Aplicativo. O Front Door ajuda a balancear a carga do tráfego entre regiões e rotas do Gateway de Aplicativo e também balanceia a carga do tráfego internamente no aplicativo para os vários serviços que atendem às necessidades de negócios do cliente.
Gerenciador de Tráfego + Load Balancer Aplicativo de n camadas de várias regiões Um aplicativo de N camadas de várias regiões que usa o Gerenciador de Tráfego para rotear solicitações de entrada para uma região primária. Quando essa região está indisponível, o Traffic Manager faz o failover para a região secundária.
Gerenciador de Tráfego + Gateway de Aplicativo Balanceamento de carga de várias regiões com o Gerenciador de Tráfego e o Gateway de Aplicativo Saiba como servir cargas de trabalho da Web e implantar aplicativos multicamadas resilientes em várias regiões do Azure, para obter alta disponibilidade e uma infraestrutura de recuperação de desastres robusta.

Árvore de decisão para balanceamento de carga no Azure

Ao selecionar as opções de balanceamento de carga, aqui estão alguns fatores que são considerados quando você seleciona a guia Ajudar-me a escolher o padrão no balanceamento de carga do Azure:

  • Tipo de tráfego. É um aplicativo Web (HTTP/HTTPS)? É um aplicativo público ou privado?
  • Global versus. regional. Você precisa balancear a carga de máquinas virtuais e contêineres de uma rede virtual ou balancear a carga em unidades/implantações de escala em diversas regiões? Ou ambas as opções?
  • Disponibilidade. Qual é o SLA de serviço?
  • Custo. Confira os preços do Azure. Além do custo do serviço em si, leve em consideração o custo de operações para gerenciar uma solução compilada nesse serviço.
  • Recursos e limites. Quais são as limitações gerais de cada serviço? Confira os Limites de serviço.

O fluxograma a seguir ajudará você a escolher uma solução de balanceamento de carga para seu aplicativo. O fluxograma orienta você por um conjunto de critérios de decisão essenciais que geram uma recomendação.

Trate esse fluxograma como um ponto de partida. Cada aplicativo tem requisitos exclusivos e, portanto use a recomendação como um ponto de partida. Em seguida, execute uma avaliação mais detalhada.

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.

Árvore de decisão para balanceamento de carga no Azure

Definições

  • Voltados para a Internet. Aplicativos que podem ser acessados publicamente pela Internet. Como prática recomendada, os proprietários de aplicativos aplicam políticas de acesso restritivo ou protegem o aplicativo configurando ofertas como firewall de aplicativo Web e proteção contra DDoS.

  • Global. Os usuários finais ou clientes estão localizados além de uma pequena área geográfica. Por exemplo, usuários em vários continentes, entre países/regiões dentro de um continente ou até mesmo em várias áreas metropolitanas dentro de um país/região maior.

  • PaaS. Os serviços de PaaS (plataforma como serviço) fornecem um ambiente de hospedagem gerenciado, no qual você pode implantar seu aplicativo sem a necessidade de gerenciar VMs ou recursos de rede. Nesse caso, PaaS refere-se aos serviços que fornecem balanceamento de carga integrado dentro de uma região. Confira Escolher um serviço de computação – Escalabilidade.

  • AKS. O Serviço de Kubernetes do Azure permite implantar e gerenciar aplicativos conteinerizados. O AKS oferece Kubernetes sem servidor, uma experiência integrada de CI/CD (integração contínua, entrega contínua) e segurança e governança de nível corporativo. Para obter mais informações sobre nossos recursos de arquitetura do AKS, confira Design de arquitetura do AKS (Serviço de Kubernetes do Azure).

  • IaaS. A IaaS (infraestrutura como serviço) é uma opção de computação na qual você provisiona as VMs de que você precisa, juntamente com componentes de rede e armazenamento associados. Os aplicativos IaaS exigem balanceamento de carga interno em uma rede virtual usando o Azure Load Balancer.

  • O processamento de camada de aplicativo refere-se ao roteamento especial em uma rede virtual. Por exemplo, roteamento baseado em caminho na rede virtual em VMs ou conjuntos de dimensionamento de máquinas virtuais. Para obter mais informações, confira Quando devemos implantar um Gateway de Aplicativo por trás do Front Door?.

  • Aceleração de desempenho refere-se a recursos que aceleram o acesso à Web. Isso pode ser obtido por meio do uso de CDN (Redes de Distribuição de Conteúdo) ou entrada de ponto de presença otimizado (POP) para integração acelerada do cliente à rede de destino. O Azure Front Door dá suporte à aceleração de tráfego CDN e Anycast. Os benefícios de ambos os recursos podem ser obtidos com ou sem Gateway de Aplicativo na arquitetura.

Próximas etapas