Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Computação em Nuvem

Service Mesh Explicado: Como Meshes Open-Source Simplificam Comunicação de Microsserviços

Ao desenvolver em arquitetura de microsserviços, há muitos componentes individuais que a equipe DevOps precisa configurar. Para microsserviços trabalharem juntos, eles requerem canais de comunicação estabelecidos para compartilhamento de informações e transferência de dados.

Uma forma de gerenciar e monitorar comunicação entre serviços é usando um service mesh.

O que é um Service Mesh?

Um service mesh é uma camada de infraestrutura dedicada adicionada à arquitetura de microsserviços. Seu papel principal é garantir comunicação service-to-service rápida e segura. Esta ferramenta de baixa latência gerencia e monitora comunicação entre serviços e compartilhamento de dados.

Consiste de um control plane a partir do qual desenvolvedores implementam regras e políticas específicas à camada de rede. O control plane trabalha diretamente com o data plane, uma coleção de proxies sidecar rodando junto aos serviços. Esses proxies são responsáveis por toda comunicação entre os serviços. Além disso, monitoram e fornecem insight valioso na performance geral da aplicação e ajudam a encontrar potenciais problemas e evitar downtime.

Service Mesh Explicado: Como Meshes Open-Source Simplificam Comunicação de Microsserviços

Os proxies fornecem capacidades valiosas, incluindo:

A Ascensão da Arquitetura Service Mesh

Para entender completamente como um service mesh funciona, precisamos olhar por que tal ferramenta foi desenvolvida. A ascensão da arquitetura service mesh emergiu como solução para vários problemas relacionados a microsserviços.

Muitas equipes de desenvolvimento fizeram a mudança de desenvolver aplicações monolíticas para arquitetura de microsserviços. Isso dividiu uma aplicação de unidade monolítica para sistema de serviços individuais trabalhando juntos. A aplicação consiste de múltiplos serviços autônomos com suas funcionalidades individuais.

A dificuldade com desenvolvimento de tal aplicação é configurar a melhor forma para esses serviços conversarem entre si. A performance da aplicação depende dos serviços trabalhando juntos e compartilhando dados para fornecer melhor experiência do usuário. Por exemplo, uma loja web poderia consistir de serviço de login que se comunica com serviço de compra que requer informação de banco de dados de inventário e assim por diante.

Como microsserviços se comunicam através de APIs, encontrar a melhor solução para resolver descoberta e roteamento era importante. Além disso, desenvolvedores precisavam garantir que comunicação dentro do sistema fosse segura. Embora firewalls protegessem a aplicação de ataques externos, havia rede plana e aberta dentro da arquitetura de microsserviços.

Antes da arquitetura de mesh service, esta tarefa era tratada por load balancers. No entanto, não era solução prática, especialmente em larga escala, devido a problemas de implantação e custo. O service mesh foi desenvolvido como solução definitiva para todos os problemas mencionados. Apresentou uma camada de rede com registry centralizado (control plane) que gerenciava todos os serviços com seus proxies sidecar. Eles são muito mais fáceis de configurar e escalar comparado a load balancers. Desenvolvedores podem escalar proxies para cima e baixo conforme necessário e mudar regras de roteamento sem modificar os serviços.

Benefícios do Service Mesh

Os benefícios mais significativos do service mesh são:

Lista de Service Meshes Open Source

Existem vários service meshes open source disponíveis. Istio, Linkerd e Consul são os mais amplamente usados.

Abaixo você encontrará mais detalhes sobre cada plataforma.

Istio

Istio é infraestrutura open source projetada por Google, IBM e Lyft. É uma das primeiras plataformas de service mesh. Usa Istiod, control plane consistindo de múltiplos componentes (Pilot, Citadel e Mixer) para operar e configurar o service mesh. O data plane é composto de proxies Envoy, desenvolvidos em C++. Conexões HTTP/TCP são gerenciadas pelo Gateway, load balancer do Istio. VirtualService e DestinationRules definem regras de roteamento e políticas.

Service Mesh Explicado: Como Meshes Open-Source Simplificam Comunicação de Microsserviços

Linkerd

Linkerd é service mesh open source leve, desenvolvido pelo projeto Cloud Native Computing Foundation (CNCF). É simples de instalar em cluster Kubernetes sobre qualquer plataforma, sem configuração adicional. Não ter configuração é benéfico ao trabalhar com clusters menores. No entanto, projetos de larga escala requerem possibilidade de configuração para gerenciar todos os serviços no cluster com sucesso.

Seus proxies sidecar são escritos em Rust. Linkerd usa o Controller para control plane e Web Deployment para dashboard. Adicionalmente, utilizou Prometheus para explorar e armazenar métricas e Grafana para renderizar e exibir dashboards.

Service Mesh Explicado: Como Meshes Open-Source Simplificam Comunicação de Microsserviços

Consul Connect

Consul foi primeiro projetado como ferramenta de descoberta de serviço e depois evoluiu para service mesh. Ao contrário do Linkerd, Consul Connect inclui muita configuração, dando mais controle sobre ambiente de rede. Consequentemente, é mais difícil de usar que Linkerd. Este service mesh open source é platform agnostic, significando que não requer Kubernetes ou Nomad. Ainda, Nomad simplifica processo de gerenciar comunicação de microsserviços através do Consul.

Service Mesh Explicado: Como Meshes Open-Source Simplificam Comunicação de Microsserviços

Open Service Mesh da Microsoft

Open Service Mesh (OSM) é projeto CNCF Envoy que implementa interface de service mesh para gerenciar e segurar aplicações de microsserviços dinâmicas. Usa Envoy xDS como contêineres sidecar. Suas principais features incluem traffic shifting, gerenciamento de certificados, habilitação de mTLS, injeção automática de sidecar e políticas de controle de acesso.

Kuma

Kuma é control plane open source para Kubernetes e VMs rodando dentro de service mesh. Tem arquitetura de política L4+L7 que implementa features como descoberta de serviço, roteamento, segurança zero-trust e observabilidade. Plataforma é altamente escalável e fácil de configurar.

OpenShift Service Mesh Red Hat

Red Hat desenvolveu seu OpenShift Service Mesh para gerenciar aplicações de microsserviços. Fornece múltiplas interfaces para rede e segurança aumentada com Security Context Constraint. Mede performance com Jaeger e observa interações entre serviços com Kiali. Adicionalmente, OpenShift inclui Red Hat 3scale Istio Mixer Adapter para melhor segurança de API.

AWS App Mesh

Amazon desenvolveu App Mesh, software de service mesh gratuito que gerencia todos seus serviços dentro de arquitetura de microsserviços. Fornece high-availability e visibilidade end-to-end para sua aplicação de microsserviços. AWS App Mesh integra com AWS Fargate, Amazon ECS, Amazon EC2, Amazon EKS, Kubernetes e AWS Outposts. Com suas ferramentas de monitoramento, exporta automaticamente dados de monitoramento.

Network Service Mesh

Network Service Mesh é projeto CNCF Sandbox open source. É service mesh IP híbrido/multi-cloud que usa conjunto simples de APIs para facilitar conectividade. Estabelece conexão entre serviços rodando dentro de contêineres e com endpoints externos. Quando implementado, requer mudanças mínimas no Kubernetes.

Conclusão

Service mesh simplifica gerenciamento e manutenção de aplicação desenvolvida usando arquitetura de microsserviços. Melhora segurança geral dentro da arquitetura de microsserviços e garante visibilidade e observabilidade de fluxo de tráfego. No geral, features do service mesh melhoram performance e aceleram ciclo de desenvolvimento. Com ampla variedade de soluções open source disponíveis, encontre uma que melhor atenda às necessidades de suas aplicações.

Computação em Nuvem

  1. Melhores Cursos de Computação em Nuvem para 2026: Dos Fundamentos AWS ao MicroMasters de Maryland
  2. Por Que Corte a Jato d'Água? Principais Benefícios para Fabricação Metálica de Precisão
  3. Jateamento de Areia: Principais Benefícios para Preparação de Superfície e Fabricação Metálica
  4. Principais Propriedades do Grafite: Estrutura, Resistência e Aplicações
  5. Descubra as Vantagens do Corte por Jato de Água para Fabricação de Precisão
  6. Explorando os 7 Tipos Principais de Tecnologia
  7. Entendendo os Vários Tipos de Prototipagem: Guia para Fundadores
  8. Explorando os Quatro Tipos Principais de Processos de Manufatura
  9. Dominando a Usinagem 5-Eixos: Precisão, Eficiência e Principais Aplicações
  10. Explorando Tipos de Rolamentos: Esferas, Rolos e Opções de Precisão