Service Mesh versus API Gateway

Em um dos meus artigos anteriores sobre service mesh, havia algumas questões associadas à relação entre Service Mesh e API Gateway. Então, neste post, estou planejando discutir o uso de Service Mesh e de API Gateway.

Para diferenciar API Gateways da Service Mesh, vamos dar uma olhada mais de perto em suas principais características.

API Gateway: expõe seus serviços como APIs gerenciadas

O principal objetivo do uso do API Gateway é expor seus (micro) serviços como APIs gerenciadas. Portanto, os serviços de API ou de Borda que desenvolvemos na camada do API Gateway servem a uma funcionalidade de negócio específica.

  • Os serviços de API/Borda chamam os microsserviços downstream (compostos e/ou atômicos) e contêm a lógica de negócios que cria composições/mashups de vários serviços downstream (que são aqueles que entregam resultados e dados para quem os chama);

  • Os serviços de API/Borda também precisam chamar os serviços downstream de maneira confiável e aplicar vários patterns de estabilidade, como Circuit Breakers, Timeouts, Balanceamento de Carga/Failover. Portanto, a maioria das soluções de API Gateway tem esses recursos incorporados;

  • Os API Gateways também vêm com suporte embutido para descoberta de serviços, análise (observabilidade: métricas, monitoramento, logging distribuído, rastreamento distribuído) e segurança;

  • Os API Gateways trabalham juntamente com vários outros componentes do ecossistema de gerenciamento de APIs, como marketplace /loja de APIs, portal de publicação de APIs.

Service Mesh

Agora vamos ver como podemos diferenciar a Service Mesh .

  • A Service Mesh é uma infraestrutura de comunicação de rede que implementa a maior parte das funções de rede, permitindo ao código do microsserviço se concentrar na lógica de negócio.

  • Portanto, quando você faz uma comunicação serviço-a-serviço, não é necessário implementar patterns de comunicação confiável, como Circuit breakers e timeouts no código do seu serviço. Da mesma forma, ela fornece outras funcionalidades, como descoberta de serviço, observabilidade, etc.

API Gateway e Service Mesh em ação

Os principais diferenciais entre os API Gateways e a Service Mesh são o fato de que os API Gateways são uma parte fundamental da exposição dos serviços de API/Borda, e a Service Mesh é meramente uma infraestrutura de comunicação entre serviços, que não possui nenhuma noção do negócio da sua solução.

A Figura 1 ilustra como o API Gateway e a Service Mesh podem coexistir. Como discutimos acima, há também algumas funcionalidades sobrepostas (como circuit breakers etc.), mas é importante entender que esses dois conceitos estão atendendo a requisitos fundamentalmente diferentes.

Figura 1: API Gateways e service mesh em ação

Conforme mostrado na Figura 1, a Service Mesh é disponibilizada junto a cada serviço como um Sidecar e é independente da funcionalidade de negócio dos serviços.

Por outro lado, o API Gateway hospeda todos os serviços de API (que tem uma funcionalidade de negócio claramente definida) e faz parte da funcionalidade de negócio da sua solução. O API Gateway pode ter recursos internos de comunicação entre serviços, mas isso não impede que o API Gateway use a Service Mesh para chamar os serviços downstream (API Gateway -> Service Mesh -> microsserviços).

No nível de gerenciamento de API, é possível usar recursos de comunicação entre serviços internos do API Gateway ou o API Gateway pode chamar serviços downstream por meio da service mesh, transferindo as funções de rede da aplicação para a service mesh.

Referências

Microservices for the Enterprise: Designing, Developing, and Deploying

Kasun Indrasiri e Prabath Siriwardena

Fonte: https://medium.com/microservices-in-practice/service-mesh-vs-api-gateway-a6d814b9bf56

Autor: Kasun Indrasiri

projetos ágeis

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Newsletter

Insights de tecnologia para você!

Não compartilharemos seu e-mail com terceiros e também prometemos não enviar spams. Ao informar seu e-mail, você concorda com nossa Política de Privacidade.

Conteúdos relacionados

Confira como funciona a Inteligência Artificial Geral, os impactos sociais e éticos dessa tecnologia e o que podemos ...
Veja nesse artigo como evitar drawbacks e interrupções de serviço ao utilizar Kubernetes, maximizando a eficiência.
Descubra adotar a IA generativa nas empresas e potencializar a produtividade e inovação das equipes de TI no desenvol...