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

O que é uma malha de serviço? Quais são as malhas de serviço de código aberto disponíveis?


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

Uma maneira de gerenciar e monitorar a comunicação entre serviços é usando uma malha de serviço.

O que é uma malha de serviço?


Uma malha de serviço é uma camada de infraestrutura dedicada adicionada à arquitetura de microsserviços. Sua principal função é garantir uma comunicação serviço a serviço rápida e segura. Essa ferramenta de baixa latência gerencia e monitora a comunicação entre serviços e o compartilhamento de dados.

Ele consiste em um plano de controle a partir do qual os desenvolvedores implementam regras e políticas específicas para a camada de rede. O plano de controle funciona diretamente com o plano de dados, uma coleção de proxies sidecar executados ao lado dos serviços. Esses proxies são responsáveis ​​por toda a comunicação entre o serviço. Além disso, eles monitoram e fornecem informações valiosas sobre o desempenho geral do aplicativo e ajudam a encontrar possíveis problemas e evitar tempo de inatividade.

Os proxies fornecem recursos valiosos, incluindo:

A ascensão da arquitetura de malha de serviço


Para entender completamente como uma malha de serviço funciona, precisamos entender por que essa ferramenta foi desenvolvida. A ascensão da arquitetura service mesh surgiu como uma solução para uma série de problemas relacionados aos microsserviços.

Muitas equipes de desenvolvimento mudaram do desenvolvimento de aplicativos monolíticos para a arquitetura de microsserviço . Isso dividiu um aplicativo de uma unidade monolítica para um sistema de serviços individuais trabalhando juntos. O aplicativo consiste em vários serviços autônomos com suas funcionalidades individuais.

A dificuldade de desenvolver tal aplicação é configurar a melhor forma para que esses serviços conversem entre si. O desempenho do aplicativo depende dos serviços trabalhando juntos e compartilhando dados para fornecer a melhor experiência ao usuário. Por exemplo, uma loja virtual pode consistir em um serviço de login que se comunica com um serviço de compra que requer informações de um banco de dados de inventário e assim por diante.

À medida que os microsserviços se comunicam por meio de APIs, encontrar a melhor solução para resolver a descobertaroteamento foi importante. Além disso, os desenvolvedores precisavam garantir que a comunicação no sistema fosse segura . Embora os firewalls protegessem o aplicativo contra ataques externos, havia uma rede plana e aberta na arquitetura de microsserviço.

Antes da arquitetura do serviço mesh, essa tarefa era realizada por balanceadores de carga . No entanto, não era uma solução prática, especialmente em maior escala, devido a problemas de implantação e custo. A malha de serviço foi desenvolvida como uma solução definitiva para todos os problemas mencionados acima. Apresentou uma camada de rede com um registro centralizado (plano de controle) que gerenciava todos os serviços com seus proxies sidecar. Eles são muito mais fáceis de configurar e dimensionar em comparação com balanceadores de carga. Os desenvolvedores podem aumentar e diminuir os proxies conforme necessário e alterar as regras de roteamento sem modificar os serviços.

Benefícios da malha de serviço


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

Lista de malhas de serviços de código aberto


Existem várias malhas de serviço de código aberto disponíveis. Istio, Linkerd e Consul são os mais usados.

Abaixo você encontrará mais detalhes sobre cada plataforma.

Istio


O Istio é uma infraestrutura de código aberto projetada pelo Google, IBM e Lyft. É uma das primeiras plataformas de malha de serviço. Ele usa o Istiod , um plano de controle que consiste em vários componentes (PilotCidadelaMisturador ) para operar e configurar a malha de serviço. O plano de dados é composto por Envoy proxies, desenvolvidos em C++ . As conexões HTTP/TCP são gerenciadas pelo Gateway , balanceador de carga do Istio. O Serviço VirtualRegras de destino definir regras e políticas de roteamento.

Linker


Linkerd é uma malha de serviço de código aberto leve, desenvolvida pelo projeto Cloud Native Computing Foundation (CNCF). É simples de instalar em um cluster do Kubernetes em qualquer plataforma, sem configuração adicional. Não ter configuração é benéfico ao trabalhar com clusters menores. No entanto, projetos de grande escala requerem a possibilidade de configuração para gerenciar todos os serviços do cluster com sucesso.

Seus proxies sidecar são escritos em Rust . O Linkerd usa o Controlador para o plano de controle e a Implantação da Web para o painel. Além disso, utilizou o Prometheus para explorar e armazenar métricas e o Grafana para renderizar e exibir painéis.

Conexão do Cônsul


O Consul foi projetado inicialmente como uma ferramenta de descoberta de serviços e posteriormente evoluiu para uma malha de serviços. Ao contrário do Linkerd, o Consul Connect inclui muitas configurações, oferecendo mais controle sobre o ambiente de rede. Assim, é mais difícil de usar do que o Linkerd. Essa malha de serviço de código aberto é independente de plataforma, o que significa que não requer Kubernetes ou Nomad. Ainda assim, Nômade simplifica o processo de gerenciamento da comunicação de microsserviços através do Consul.

Mesh de serviço aberto da Microsoft


O Open Service Mesh (OSM) é um projeto CNCF Envoy que implementa uma interface de malha de serviço para gerenciar e proteger aplicativos dinâmicos de microsserviço. Ele usa o Envoy xDS como contêineres laterais. Seus principais recursos incluem mudança de tráfego, gerenciamento de certificados, habilitação de mTLS, injeção automática de sidecar e políticas de controle de acesso.

Kuma


Kuma é um plano de controle de código aberto para Kubernetes e VMs executados em uma malha de serviço. Tem arquitetura de política L4+L7 que implementa recursos como descoberta de serviços, roteamento, segurança de confiança zero e observabilidade. A plataforma é altamente escalável e fácil de configurar.

OpenShift Service Mesh Red Hat


A Red Hat desenvolveu seu OpenShift Service Mesh para gerenciar aplicativos de microsserviço. Ele fornece várias interfaces para rede e maior segurança com Restrição de contexto de segurança . Ele mede o desempenho com o Jager e observa as interações entre os serviços com o Kiali . Além disso, o OpenShift inclui o Adaptador Red Hat 3scale Istio Mixer para melhor segurança da API.

Mesh de aplicativos da AWS


A Amazon desenvolveu o App Mesh, um software de malha de serviço gratuito que gerencia todos os seus serviços dentro de uma arquitetura de microsserviços. Ele fornece alta disponibilidade e visibilidade de ponta a ponta para seu aplicativo de microsserviço. O AWS App Mesh se integra ao AWS FargateAmazon ECSAmazon EC2Amazon EKSKubernetesAWS Outposts . Com suas ferramentas de monitoramento, ele exporta automaticamente os dados de monitoramento.

Malha de serviço de rede


O Network Service Mesh é um projeto CNCF Sandbox de código aberto . É uma malha de serviço IP híbrida/multinuvem que usa um conjunto simples de APIs para facilitar a conectividade. Ele estabelece uma conexão entre serviços executados dentro de contêineres e com endpoints externos. Quando implementado, requer alterações mínimas no Kubernetes.

Em conclusão


Uma malha de serviço simplifica o gerenciamento e a manutenção de um aplicativo desenvolvido usando a arquitetura de microsserviço. Ele melhora a segurança geral dentro da arquitetura de microsserviço e garante visibilidade e observabilidade do fluxo de tráfego. No geral, os recursos do service mesh melhoram o desempenho e aceleram o ciclo de desenvolvimento. Com uma ampla variedade de soluções de código aberto disponíveis, encontre uma que melhor atenda às necessidades de seus aplicativos.

Computação em Nuvem

  1. Quais são os melhores cursos de computação em nuvem?
  2. Quais são os benefícios do corte por jato de água?
  3. Quais são os benefícios do jateamento de areia?
  4. Quais são as principais propriedades do grafite?
  5. Quais são os benefícios do corte a jato de água?
  6. Quais são os 7 tipos de tecnologia?
  7. Quais são os diferentes tipos de prototipagem?
  8. Quais são os 4 tipos de processo de fabricação?
  9. Quais são os 5 eixos de usinagem?
  10. Quais são os tipos de rolamento