Este documento apresenta os microsserviços e descreve os tipos compatíveis no Cloud Monitoring.
O termo microsserviço significa coisas diferentes para pessoas diferentes. Para alguns, o microsserviço corresponde às "caixas" desenhadas no quadro branco, quando se fala sobre a arquitetura do sistema. Outros se referem a uma definição mais formal, que descreve um endpoint endereçável na rede com a funcionalidade determinada pela API externa e que pode ser desenvolvida, implantada e operada independentemente de outros microsserviços no sistema. Além disso, eles entendem o conceito de microsserviço fornecido pela plataforma de desenvolvimento, como os serviços do App Engine ou o serviço do Cloud Service Mesh.
Nosso objetivo não é forçar uma definição de microsserviço. Em vez disso, queremos ajudar você a monitorar seus sistemas em escala durante sua transformação digital, fornecendo ferramentas de monitoramento orientadas a serviços para ajudar você e sua arquitetura. Queremos trabalhar com você para adotar as práticas recomendadas para sistemas de monitoramento sem alterar uma única linha de código.
Para ajudá-lo a monitorar seus microsserviços, o Cloud Monitoring faz o seguinte:
- Detecta automaticamente os microsserviços, quando possível
- Oferece uma experiência guiada para definir os microsserviços baseados no Google Kubernetes Engine e no Cloud Run
- Oferece uma solução totalmente personalizada para ter a maior flexibilidade possível
Microsserviços descobertos automaticamente
Alguns frameworks de desenvolvimento moderno oferecem conceitos opinativos de um microsserviço. Em arquiteturas que usam esses frameworks, o Cloud Monitoring detecta automaticamente quando os serviços são implantados, atualizados ou excluídos. O Monitoring realiza essa detecção por meio de análises constantes do fluxo de metadados produzido por um projeto.
O Cloud Monitoring pode detectar automaticamente os microsserviços criados usando os seguintes frameworks de desenvolvimento:
App Engine: o App Engine tem uma grande entendimento de microsserviços, chamada de serviço do App Engine (anteriormente chamada de módulo). Cada serviço é distinto pelo próprio arquivo de configuração
app.yaml
.Cloud Service Mesh: o Cloud Monitoring é compatível com malhas de serviço criadas sobre um único cluster do GKE. Nesta configuração, um serviço do Cloud Service Mesh corresponde diretamente a um serviço do GKE. Todos os serviços do Cloud Service Mesh, gerenciados pelo usuário e pelo sistema, são detectados automaticamente.
Painéis de microsserviços descobertos automaticamente
Um painel de serviços é criado automaticamente para todos os microsserviços descobertos automaticamente. O painel contém os detalhes dos metadados do serviço, o cronograma do alerta, o status dos seus objetivos de nível de serviço (SLOs) e os registros relacionados ao serviço. Cada um desses componentes é descrito em mais detalhes em Como usar painéis de microsserviço.
GKE, Cloud Run e serviços personalizados
O Cloud Monitoring pode identificar serviços em potencial ou candidatos para os seguintes tipos:
- Namespaces do GKE
- Serviços do GKE
- Cargas de trabalho do GKE
- Serviços do Cloud Run
No entanto, pode haver muitos candidatos desse tipo e você não quer necessariamente criar SLOs em todos eles. O Monitoring cria uma lista de serviços candidatos e identifica os serviços que você quer tratar como serviços do Monitoring selecionando-os a partir da lista. Em seguida, o Monitoring cria a infraestrutura de serviço para você.
Quando nenhum tipo de serviço existente acomodar um aplicativo para o qual você quer criar SLOs, você poderá definir um serviço personalizado.
Para mais informações sobre como identificar serviços candidatos e criar serviços personalizados, consulte Como definir um microsserviço.