Sensedia Service Mesh
Este é o Guia de Usuário do Sensedia Service Mesh, a nossa solução para o gerenciamento de microsserviços a partir de uma interface intuitiva.[1]
O Sensedia Service Mesh é uma infraestrutura que abstrai problemas de redes envolvidos na comunicação entre serviços. As funcionalidades de gerenciamento são disponibilizadas por meio de uma interface gráfica low-code, facilitando o trabalho das suas equipes de desenvolvedores e de operações. Com todo o suporte para a sua aplicação de microsserviços rodar, seu time consegue se concentrar no que mais importa: aplicar as regras de negócio!
Funcionalidades
A interface do Sensedia Service Mesh conta com cinco telas principais, acessíveis pelo menu lateral à esquerda da tela.
Gerenciamento de meshes
É possível administrar múltiplos meshes ao mesmo tempo, cada um composto por seus diversos serviços. A tela Meshes lista todos os meshes presentes em seus clusters e que podem ser gerenciados pelo Sensedia Service Mesh.
Ao clicar no nome de um mesh, é possível ver detalhes e aplicar configurações no âmbito do mesh como um todo por meio das abas:
-
SERVICES, que exibe os serviços que compõem o mesh.
-
MESH AUTHENTICATION, que permite configurar a autenticação de clientes ao enviarem requisições ao mesh.
-
MESH SECURITY, que permite estabelecer que qualquer comunicação entre serviços só é permitida se houver uma política específica configurada para cada serviço a ser disponibilizado.
-
EXTERNAL SERVICES, que permite configurar regras para habilitar o acesso dos serviços do mesh a serviços externos a ele.
-
METADATA, que exibe as versões do Istio, Jaeger e Kiali utilizados no mesh (é necessário ter Istio, Jaeger e Kiali instalados para que o mesh seja gerenciado pelo Sensedia Service Mesh).
Gerenciamento de serviços
A tela Services exibe os serviços que compõem um mesh e a quantidade de pods de cada serviço.
Clicando no nome de um serviço, é possível ver detalhes e aplicar políticas de gerenciamento por meio das abas de configuração:
-
PODS, que exibe os pods que compõem o serviço.
-
SOURCES, que mostra a origem das requisições ao serviço em tempo real.
-
METRICS, que exibe métricas rápidas em tempo real sobre o comportamento do serviço.
-
TRAFFIC MANAGEMENT, que permite aplicar políticas de roteamento de tráfego e implantação de versões de serviços.
-
FAULT TOLERANCE, onde você pode escolher entre estas quatro funcionalidades para definir regras de tolerância a falhas para um serviço específico: Circuit Breaker, Request Timeout, Fault Injection e Retry.
-
AUTHENTICATION, que permite configurar as regras de autenticação no âmbito do serviço. Essas regras definem os caminhos que necessitarão de autenticação para serem acessados.
-
AUTHORIZATION, que permite aplicar uma política de autorização no âmbito do serviço.
-
DOCUMENTATION, que permite cadastrar a documentação da API (Swagger) que expõe o microsserviço correspondente.
Observabilidade: rastreamento e gráficos
O Sensedia Service Mesh incorpora soluções de observabilidade para monitorar cada mesh e identificar problemas o mais rápido possível. Contamos com gráficos de topologia a partir do Kiali e o sistema de rastreamento distribuído do Jaeger.
Os gráficos e o rastreamento funcionam a partir da propagação de informações de contexto por meio de headers que seguem o parâmetro OpenTracing.
A tela Graph oferece uma visualização gráfica customizável e em tempo real do seu ecossistema de microsserviços. Entre outras informações, é possível observar os caminhos percorridos pelas requisições, o protocolo que corre entre os serviços, versões de serviços implantadas e estatísticas sobre requisições e respostas.
A tela Tracing exibe os spans de rastreamento gerados para as requisições (em nível de mesh, serviço ou operação específica), informando duração e latência em tempo real.
Centralização das documentações
A tela Documentation exibe todos os serviços do(s) mesh(es) selecionado(s) que possuem documentação (Swagger) cadastrada, facilitando o gerenciamento e a visualização dessas documentações.