O Anthos Service Mesh é um pacote de ferramentas que monitora e gerencia uma malha de serviço local confiável ou no Google Cloud.
O que é uma malha de serviço?
Uma malha de serviço é uma arquitetura que permite a comunicação gerenciada, observável e segura entre seus serviços, permitindo que você crie aplicativos empresariais robustos compostos por muitos microsserviços na infraestrutura escolhida. As malhas de serviço eliminam todas as preocupações comuns referentes à execução de um serviço, como monitoramento, rede e segurança, com ferramentas consistentes e poderosas, permitindo que desenvolvedores e operadores de serviço possam se concentrar na criação e no gerenciamento de bons aplicativos para os usuários.
O Anthos Service Mesh usa a tecnologia do Istio, uma plataforma de malha de serviço de código aberto altamente configurável e com ferramentas e recursos que otimizam as práticas recomendadas do setor. O Anthos Service Mesh é implantado como uma camada uniforme em toda a infraestrutura. Desenvolvedores e operadores de serviço podem usar o próprio conjunto de atributos avançados sem fazer alterações no código do aplicativo.
Em termos de arquitetura, uma malha de serviço consiste em um ou mais planos de controle e um plano de dados. A malha de serviço monitora todo o tráfego por meio de um proxy. No Kubernetes, o proxy é implantado por um padrão de arquivo secundário nos microsserviços da malha. Em máquinas virtuais (VMS), o proxy fica instalado na VM. Esse padrão dissocia a lógica de aplicativo ou de negócios das funções de rede e permite que os desenvolvedores se concentrem nos recursos necessários para os negócios. As malhas de serviço também permitem que as equipes de operações e de desenvolvimento separem o trabalho uma da outra.
Como o Anthos Service Mesh pode ajudar?
Com o Anthos Service Mesh, você recebe uma distribuição testada e compatível do Istio com o GKE Enterprise, o que permite criar e implantar uma malha de serviço no GKE no Google Cloud e em outras plataformas com todo o Suporte do Google.
Recursos
O Anthos Service Mesh tem um pacote de recursos e ferramentas para você observar e gerenciar serviços seguros e confiáveis de maneira unificada.
Gerenciamento de tráfego
O Anthos Service Mesh controla o fluxo de tráfego entre serviços, na malha (entrada) e fora dos serviços (saída). Você configura e implementa recursos personalizados compatíveis com o Istio para gerenciar esse tráfego na camada do aplicativo (L7). Por exemplo, com os recursos personalizados, é possível:
- Criar implantações canário e azul-verde.
- Fornecer controle refinado sobre rotas específicas de serviços.
- Configurar o balanceamento de carga entre serviços.
- Configurar disjuntores.
O Anthos Service Mesh mantém um registro de todos os serviços na malha por nome e pelos seus respectivos endpoints. Ela mantém o registro para gerenciar o fluxo de tráfego (por exemplo, endereços IP do pod do Kubernetes). Ao usar esse registro de serviço e, ao executar os proxies lado a lado com os serviços, a malha pode direcionar o tráfego para o endpoint apropriado.
Insights sobre observabilidade
As páginas do Anthos Service Mesh no Console do Google Cloud fornecem os seguintes insights sobre sua malha de serviço:
Métricas e registros de serviço para tráfego HTTP no cluster do GKE de sua malha são ingeridos automaticamente no Google Cloud.
Os painéis de serviço pré-configurados mostram as informações necessárias para você compreender seus serviços.
A telemetria detalhada, com a tecnologia do Cloud Monitoring, Cloud Logging e Cloud Trace, permite aprofundar a análise das métricas do serviço e registros. É possível filtrar e dividir os dados em vários atributos.
Com o resumo das relações de serviço a serviço, você entende quem está conectado a que serviço e quais serviços são interdependentes.
É possível ver rapidamente a posição de segurança da comunicação não apenas do serviço, mas também das relações com outros serviços.
Os objetivos de nível de serviço (SLOs, na sigla em inglês) oferecem insights sobre a integridade dos serviços. Você pode definir SLOs e alertas facilmente conforme seus padrões de integridade de serviço.
Saiba mais sobre os recursos de observabilidade do Anthos Service Mesh no nosso Guia de observabilidade.
Benefícios de segurança
Reduz os riscos de ataques de reprodução ou de falsificação de identidade que usam credenciais roubadas. O Anthos Service Mesh depende de certificados de mTLS para autenticar pares, em vez de tokens do portador, como JSON Web Tokens (JWT).
Garante a criptografia em trânsito. O uso da mTLS para autenticação também garante que todas as comunicações TCP sejam criptografadas em trânsito.
Garante que apenas os clientes autorizados possam acessar um serviço com dados confidenciais, independentemente do local da rede do cliente e das credenciais no nível do aplicativo.
Reduz o risco de violação de dados do usuário na rede de produção. É possível garantir que as pessoas com informações privilegiadas só possam acessar dados confidenciais através de clientes autorizados.
Identifica quais clientes acessaram um serviço com dados confidenciais. A geração de registros de acesso do Anthos Service Mesh captura a identidade mTLS do cliente, além do endereço IP.
Todos os componentes e proxies do plano de controle no cluster usam módulos de criptografia validados por FIPS 140-2.
Saiba mais sobre os benefícios e recursos de segurança do Anthos Service Mesh no nosso Guia de segurança.
Opções de implantação
No Anthos Service Mesh 10.3 e posterior, você tem as seguintes opções de implantação:
- Plano de controle no cluster
- Anthos Service Mesh gerenciado
- Incluir VMs do Compute Engine na malha de serviço.
Plano de controle no cluster
O diagrama a seguir mostra os componentes e recursos do Anthos Service Mesh para os proxies de plano de controle e sidecar no cluster.
Anthos Service Mesh gerenciado
O Anthos Service Mesh gerenciado consiste no plano de controle gerenciado pelo Google. No Anthos Service Mesh 1.10.4 e posterior, você tem a opção de ativar o plano de dados gerenciado pelo Google. Com o Anthos Service Mesh gerenciado, o Google lida com upgrades, escalonamento e segurança para você minimizar a manutenção manual do usuário. Ao ativar o plano de dados gerenciados pelo Google, você adiciona uma anotação aos namespaces, que instala um controlador no cluster que gerencia os proxies secundários para você.
O diagrama a seguir mostra os componentes e recursos do Anthos Service Mesh para o Anthos Service Mesh gerenciado:
Para informações sobre como configurar ou migrar para um Anthos Service Mesh gerenciado, consulte Como configurar o Anthos Service Mesh gerenciado.
Anthos Service Mesh para VMs do Compute Engine
O Anthos Service Mesh para VMs do Compute Engine agora está disponível como um recurso de visualização. É possível gerenciar, observar e proteger serviços em execução nos grupos gerenciados de instâncias (MIGs, na sigla em inglês) do Compute Engine e nos clusters do GKE no Google Cloud na mesma malha. É possível combinar e escolher o melhor ambiente para executar seus serviços, aproveitando os benefícios do Anthos Service Mesh. O diagrama a seguir mostra um MIG na mesma malha de serviço que um cluster do GKE:
Para mais informações, consulte Adicionar VMs do Compute Engine ao Anthos Service Mesh.