Microsserviços

Este documento apresenta os microsserviços e descreve os tipos compatíveis no Cloud Monitoring.

O termo microservice 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 microservice. 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.

Painel de serviços para microsserviços descobertos automaticamente.

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.