Balanceamento de Carga Moderno com NSX Advanced Load Balancer — Zero to Hero — Parte 1

Mauricio Amorim
TechRebels
Published in
4 min readNov 25, 2020
Aprendendo para ser um verdadeiro herói do NSX ALB ;)

Olá pessoal, me chamo Maurício Amorim e juntos vamos brincar com NSX.
Fique à vontade para comentar e entrar em contato comigo pelo LinkedIn. Se gostou do artigo, incentive dando “claps” aí do lado e compartilhe nos seus grupos. Não se esqueça de seguir a mim e ao TechRebels clicando follow aí embaixo. Entre também no nosso canal no Telegram :)

Contextualização

As soluções tradicionais de balanceamento de carga, vulgo ADCs (Application Delivery Controller), foram concebidas em outros tempos, em uma época em que os Datacenters eram on-premises, as cargas de trabalho servidores físicos ou máquinas virtuais e o perímetro de rede era bem definido. Neste contexto era fácil comprar alguns appliances para balancear o tráfego e realizar algumas outras funções inerentes a um ADC ao posicioná-los estrategicamente dentro do Datacenter.

No entanto, estes Datacenters mudaram, evoluíram, junto com as aplicações e as cargas de trabalho que eles hospedam. Hoje vemos as aplicações distribuídas na nuvem, aplicações baseadas em container e todo um mundo em que a velocidade de uma empresa a se adaptar às mudanças tornou-se um diferencial competitivo, tornando automação algo primordial em tudo o que envolve a infraestrutura que suporta as aplicações.

Foi neste conceito que surgiu o NSX Advanced Load Balancer (by AVI Networks), com uma plataforma moderna com arquitetura distribuída para fornecer as funcionalidades tradicionais de um balanceador neste mundo moderno.

Balanceamento de Carga Moderno

Neste primeiro artigo da série, após uma breve contextualização, abordaremos as principais características de um balanceador moderno e como o NSX Advanced Load Balancer foi criado para atender a este novo contexto.

Dentre as principais funcionalidades que caracterizam um balanceador de carga moderno podemos destacar:

  • Portabilidade / Multi-cloud — deve possuir uma arquitetura que funciona de forma consistente em qualquer ambiente, seja no datacenter on-premises ou na nuvem pública;
  • Elasticidade — deve permitir aumentar e diminuir sua capacidade conforme a demanda das aplicações por ele suportadas;
  • Automação — deve possuir API REST para 100% das funcionalidades, permitindo que todo seu ciclo de vida seja automatizado além de possuir um ecossistema de integração que permita automatizar a entrega de aplicações fim-a-fim em uma esteira CI/CD;
  • Inteligência — deve possuir uma plataforma de analytics integrada, permitindo que se adapte ao ambiente com funções como auto-scaling e facilitando a tomada de decisão por meio de métricas de desempenho e telemetria.

Arquitetura do NSX Advanced Load Balancer

O NSX ALB conta com dois componentes em sua arquitetura:

  • Avi Controller
  • Service Engine (SE)

As controladoras são o cérebro da solução e fornecem o plano de gerenciamento e controle. São instaladas inicialmente por um administrador e é o ponto de contato para gerenciamento de todo o fabric de balanceamento de carga. Os SEs são os balanceadores de carga propriamente ditos, criados pela controladora de forma automática, quando um serviço virtual é criado e formam o plano de dados, sendo responsáveis por todo o encaminhamento de pacotes. A figura abaixo ilustra esta arquitetura:

As controladoras são tipicamente instaladas em clusters com três nós para alta disponibilidade e podem ser instaladas em ambientes on-premises ou nuvens públicas, além de poderem ser fornecidas na modalidade SaaS. São baseadas em máquinas virtuais e são responsáveis por armazenar e gerenciar todas as políticas, configurações e os dados de telemetria e analytics. As controladoras também são responsáveis por gerenciar o ciclo de vida dos SEs, criando novos balanceadores quando necessário e distribuindo os serviços virtuais entre os SEs.

Os SEs são os responsáveis pelo encaminhamento de pacotes e realizam as interações com clientes e servidores, inclusive as funções de health monitor dos serviços. Eles também são responsáveis por coletar as métricas a partir dos fluxos e executam funções de segurança como proteção DDoS, WAF e SSL Offload.

Esta arquitetura permite ser instalada em múltiplos ambientes, que incluem VMware vCenter, AWS, Azure, VMC on AWS, Openstack e bare metal, entre outros.

Dentre os principais casos de uso destacam-se:

  • Balanceamento de carga tradicional (refresh de soluções tradicionais baseadas em appliance);
  • Segurança;
  • Balanceamento multi datacenter e multicloud incluindo suporte a GSLB;
  • Balanceamento em ambientes cloud native, com funcionalidade de Ingress em ambientes como Kubernetes, Openshift, AKS, EKS, entre outros.

Com isto, temos uma solução moderna, escalável e que pode funcionar em qualquer ambiente, criando um verdadeiro fabric para entrega de serviços às aplicações. Há muitos temas a explorar e no próximo artigo será abordada a instalação e configuração inicial do NSX ALB em ambiente vSphere.

O que achou desta breve introdução sobre o NSX Advanced Load Balancer?

O que você gostaria de ver nesta série?

Fala pra gente nos comentários!

Se gostou do conteúdo, peço para compartilhar. Não se esqueça de seguir a mim e ao TechRebels clicando follow aí embaixo :)

Sobre o autor:

Maurício Amorim é Engenheiro de Sistemas na VMware, trabalhando como especialista em Redes e Segurança.

Graduado em Engenharia de Redes pela Universidade de Brasília-UNB, é duplo CCIE (R&S e Security) além de VCIX-NV pela VMware e um vExpert.

Após 10 anos na Vivo, passou por integradores e depois trabalhou na Cisco como engenheiro de sistemas com projetos de alta complexidade envolvendo diversas áreas de TI para grandes e médias empresas.

linkedin.com/in/mauricioamorim

--

--

Mauricio Amorim
TechRebels

2x CCIE (R&S|Sec) | VCIX-NV 2019 | vExpert - Sr. NSX Solutions Engineer@Vmware