Conectando microsserviços com uma malha de serviços

RESUMO EXECUTIVO

A incorporação de uma malha de serviços conecta seus microsserviços e permite escalar o Kubernetes, minimizando a sobrecarga de gerenciamento.

Service Mesh é a próxima grande tendência na entrega de aplicações

Uma malha de serviços conecta microsserviços, facilitando a proteção e a orquestração de componentes conteinerizados e simplificando o trabalho dos arquitetos de nuvem.

Primeiro, foram aplicativos em todos os lugares, para tudo, depois vieram os microsserviços (e as tecnologias de contêineres que os viabilizam). Qual será a próxima inovação que ajudará a proporcionar uma experiência excepcional aos usuários por meio de aplicativos? A malha de serviços.

A abordagem de microsserviços se baseia em componentes pequenos e de finalidade única, usados para criar aplicações maiores e mais complexas. É possível criar um microsserviço para praticamente qualquer finalidade e, como cada um se concentra em uma única funcionalidade, seu desenvolvimento é relativamente rápido. No entanto, quanto mais funcionalidades você quiser, mais complexa se tornará a coordenação dos componentes de microsserviços.

As aplicações tradicionais (às vezes chamadas de aplicações monolíticas) levam mais tempo para serem desenvolvidas, mas têm suas vantagens. Como muitas funções distintas são executadas por um único programa, a coordenação entre os componentes geralmente é integrada ao sistema. Há apenas uma única fonte de código, o que facilita a identificação e a correção de problemas em aplicações tradicionais.

O que é uma malha de serviços?

Uma malha de serviços é uma camada transparente de infraestrutura que facilita a comunicação entre microsserviços. Isso proporciona aos aplicativos desenvolvidos com microsserviços as mesmas vantagens de um aplicativo tradicional, como resiliência, observabilidade e segurança.

A justificativa de negócios para uma malha de serviços empresarial

A transição de uma arquitetura monolítica para microsserviços foi impulsionada principalmente pela necessidade de as equipes de aplicações serem mais ágeis e executarem suas tarefas com mais rapidez. Dividir uma aplicação de grande porte em vários componentes menores permitiu que cada equipe se especializasse. Assim, elas puderam realizar iterações mais rapidamente do que quando precisavam se preocupar com todos os aspectos da arquitetura monolítica.

No entanto, essa velocidade e agilidade têm um preço: o aumento da complexidade. Os microsserviços simplificam o desenvolvimento, mas trazem novos desafios, especialmente no que diz respeito à segurança e à orquestração de vários componentes efêmeros. A malha de serviços permite que os desenvolvedores reduzam a complexidade à medida que as aplicações baseadas em microsserviços são escaladas.

“O objetivo da visibilidade multidimensional é eliminar os silos de dados e tornar as informações acessíveis em toda a organização.”

Em um podcast recente, Andrew Jenkins, cofundador e CTO da Aspen Mesh, explicou da seguinte forma: “Em um ambiente de service mesh, a maior mudança não está no que os desenvolvedores de aplicativos precisam fazer, mas em tudo o que se espera que eles não façam”. Por exemplo, o componente de segurança de uma service mesh fornece autenticação e gerencia se um aplicativo confia em outro. Quando uma solicitação falha, o operador da plataforma tem as ferramentas necessárias para definir se o microsserviço deve tentar novamente ou ser desativado.

Nesse novo ambiente, os desenvolvedores podem se concentrar em encaminhar as solicitações para a camada da malha de serviços. O operador da plataforma — com acesso a ferramentas que monitoram todas as comunicações entre microsserviços — pode oferecer ao desenvolvedor de aplicativos uma gama totalmente nova de dados e métricas. “Em uma malha de serviços, basta corrigir essa falha em um único lugar para que ela seja corrigida em todos os lugares. Essa mesma história de consistência se repete continuamente”, afirma Jenkins.

Quando usar uma malha de serviços

Pense no service mesh como uma nova e poderosa caixa de ferramentas. Há ferramentas para segurança, processamento de transações, criptografia, mecanismos de recomendação, rastreamento distribuído... e a lista continua. Mas ferramentas poderosas não ajudarão se você não souber como usá-las. Para adotar o service mesh com sucesso desde o início, é preciso contar com uma sólida prática de arquitetura em nuvem e uma equipe de plataforma experiente na definição de serviços de infraestrutura para desenvolvedores.

Muitas organizações estão executando com sucesso Kubernetes e outras tecnologias de contêineres sem uma malha de serviços. As implementações padrão do Kubernetes lidam muito bem com os problemas inerentes à implantação. No entanto, em grande escala, as aplicações Kubernetes apresentam problemas de execução que não são tratados de forma tão eficaz, como criptografia, interrupção de circuitos e roteamento dinâmico de tráfego. Soluções como NGINX e outras soluções de entrada para contêineres preenchem grande parte dessa lacuna ao oferecer meios para capturar, modelar, controlar e visualizar o tráfego de rede à medida que ele entra em uma aplicação. Porém, quando os desenvolvedores começam a atingir os limites do que essas ferramentas podem oferecer, a malha de serviços promete um novo nível de visibilidade sobre o que os microsserviços em contêineres podem fazer.

Conclusão

No momento, a malha de serviços ainda é uma tecnologia de ponta. Para organizações que já adotaram totalmente o Kubernetes ou que planejam desenvolver com Kubernetes, será mais fácil implementar uma malha de serviços desde o início do que incorporá-la posteriormente. Se você está expandindo o Kubernetes e deseja minimizar a sobrecarga de gerenciamento, precisa de uma malha de serviços.

Para organizações com necessidades complexas de segurança ou que dependem fortemente de aplicações baseadas em microsserviços, uma malha de serviços pode agilizar a implantação e a manutenção, reforçar a segurança e ajudar a otimizar o consumo de recursos. Os ambientes de malha de serviços aumentam a visibilidade, fornecendo dados em níveis micro e macro que podem ser usados para otimizar as aplicações.

A malha de serviços representa o próximo nível de evolução das tecnologias de microsserviços e contêineres. Com a estratégia certa, ela pode ser uma ferramenta poderosa.

Conteúdo relacionado

E-BOOK

Arquitetura de Nuvem Segura

Velocidade sem as concessões de sempre — é isso que você conquista com a arquitetura de nuvem certa.

Saiba mais ›


VISÃO GERAL DA SOLUÇÃO

Infraestrutura 5G nativa da nuvem

As soluções de infraestrutura 5G da F5 fornecem as ferramentas de que os provedores de serviços precisam para modernizar sua infraestrutura de rede.

Leia a visão geral ›


SOLUÇÕES

NGINX

Descubra como conectar, proteger e escalar microsserviços.

Saiba mais ›


PODCAST

O Que Se Esconde Sob a Superfície

Conheça o service mesh e suas alternativas no podcast What Lies Beneath.

Ouça agora ›