BLOG | ESCRITÓRIO DO DIRETOR DE TECNOLOGIA

A evolução do balanceamento de carga está ligada à arquitetura de aplicações

Miniatura de Anna White
Michael Wiley - O que é isso?

Miniatura de Mika Yamamoto
LORI MACVITTIE
Publicado em 18 de maio de 2020

Não é nenhuma surpresa que, à medida que uma nova geração de arquiteturas de aplicativos evolui, uma nova geração de balanceamento de carga a acompanha. Desde o surgimento do balanceamento de carga, pouco antes da virada do século, a tecnologia evoluiu em um ritmo previsível, o que significa que é hora de inovar.

Hoje estamos vendo a adoção da quinta geração de arquiteturas de aplicativos acelerando rapidamente. O crescimento de aplicativos nativos da nuvem (baseados em microsserviços) está crescendo mais rápido do que o esperado. A pesquisa mais recente da Stackrox Containers and Kubernetes Security nos diz que quase 30% dos entrevistados colocaram em contêineres mais da metade de seus aplicativos.

O mesmo ocorre com o crescimento das cargas de trabalho que advêm dessa desagregação de aplicativos em suas funções comerciais compostas. Essa desconstrução é motivada pelo desejo de velocidade na entrega de recursos digitais aos consumidores. Ao reduzir o escopo às funções comerciais, cada uma pode ser desenvolvida, testada e entregue de forma independente, sem impactar significativamente outras funções comerciais. Isso permite que os negócios cresçam mais rapidamente, fornecendo novos recursos digitais com mais rapidez e frequência. O resultado é que um aplicativo agora tem cinco ou mais cargas de trabalho, cada uma conteinerizada e dimensionada individualmente.

Na arquitetura moderna, essas camadas tradicionais se decompuseram em múltiplos componentes. Mais de 80% de um aplicativo moderno é composto por componentes de origem externa. Estruturas de apresentação, dados locais, dados de sessão, dados transacionais. Até mesmo a lógica foi desmembrada e distribuída entre cargas de trabalho que representam funções empresariais individuais.

À medida que uma aplicação monolítica é dividida em diferentes funções, o tráfego leste-oeste aumenta. A forte dependência de APIs exige maior dimensionamento, otimização e acesso de baixa latência. O balanceamento de carga ainda é o principal meio de atingir essa escala. Mas nem sempre é entregue por meio de um proxy tradicional. Os caminhos de dados são mais complexos e dinâmicos hoje em dia. Isso levou a uma nova geração de balanceamento de carga que é tão distribuída quanto as cargas de trabalho que dimensiona.

O balanceamento de carga está evoluindo para lidar com as mudanças no cenário e, na F5, isso significa foco no aplicativo.

Uma nova geração de serviços de aplicativos seguirá o balanceamento de carga

Também veremos serviços de aplicativos, como segurança, seguirem o balanceamento de carga em um novo modelo desagregado porque o aplicativo que ele protege foi desagregado. Neste modelo, a segurança e a escala no nível do microsserviço (componente) são análogas à segurança e à escala de contêiner para contêiner. Portanto, vemos o surgimento de malhas de serviço associadas a clusters do Kubernetes. Uma malha de serviços visa atender à necessidade de comunicação segura e escalável entre contêineres.

Vemos as demandas e necessidades da malha de serviços mudando. À medida que isso continua a crescer, não está isento de desafios. A complexidade continua sendo um desafio significativo para aqueles que desenvolvem, implantam e operam contêineres. A saber, uma pesquisa da Reflex mostrou que quase metade (43%) dos entrevistados citaram a "complexidade" como seu maior desafio ao executar contêineres em ambientes de produção.

Esses desafios precisarão ser resolvidos com uma camada de gerenciamento (controle) que deve permitir que uma variedade de funções implantem e operem essa nova geração de balanceamento de carga e serviços de aplicativos. A F5 está posicionada de forma distinta para resolver o problema de operar em escala sem ser sobrecarregada pela complexidade das arquiteturas e ambientes modernos.

Por exemplo, oferecemos o Aspen Mesh para resolver o problema de complexidade com implantações do Kubernetes e do Istio. Também estamos trabalhando em soluções baseadas no poder do NGINX para controlar e fornecer visibilidade em implantações de aplicativos modernos.

A adoção de arquiteturas de aplicativos modernas continuará a ter um efeito transformador em serviços de aplicativos, como segurança e visibilidade, à medida que seguem o balanceamento de carga. Para a F5, isso significa pensar fora da caixa e olhar para dentro do cluster de contêineres.