Microservizi

Questo documento introduce i microservizi e descrive i tipi di microservizi supportati da Cloud Monitoring.

Il termine microservice ha significati diversi a seconda delle persone. Per alcuni, il microservice corrisponde alle "caselle" disegnate sulla lavagna quando si parla di architettura di sistema. Altri fanno riferimento a una definizione più formale che descrive un endpoint indirizzabile in rete con funzionalità determinate dalla sua API rivolta all'esterno che può essere sviluppata, implementata e gestita indipendentemente da altri microservizi nel sistema. Altri ancora basano la loro conoscenza sul concetto di microservizio fornito dalla loro piattaforma di sviluppo, come i servizi App Engine o il servizio Cloud Service Mesh.

Il nostro obiettivo non è imporre una definizione di microservizio. Vogliamo invece aiutarti a monitorare i tuoi sistemi su larga scala durante la trasformazione digitale fornendoti strumenti di monitoraggio orientati ai servizi per te e la tua architettura. Vogliamo collaborare con te per adottare le best practice per monitorare i sistemi senza modificare una sola riga di codice.

Per aiutarti a monitorare i tuoi microservizi, Cloud Monitoring svolge le seguenti operazioni:

  • Rileva automaticamente i microservizi, se possibile
  • Fornisce un'esperienza guidata per la definizione di microservizi basati su Google Kubernetes Engine e Cloud Run
  • Offre una soluzione completamente personalizzata per la massima flessibilità

Microservizi rilevati automaticamente

Alcuni framework di sviluppo moderni offrono concetti opinabili di un microservizio. Nelle architetture che utilizzano questi framework, Cloud Monitoring rileva automaticamente quando i servizi vengono di cui viene eseguito il deployment, aggiornati o eliminati. Il monitoraggio consente di effettuare questo rilevamento tramite un'analisi costante dello stream di metadati prodotto da un progetto.

Cloud Monitoring può rilevare automaticamente i microservizi creati utilizzando i seguenti framework di sviluppo:

  • App Engine: App Engine ha un'idea ben precisa di microservizio, chiamato servizio App Engine (in precedenza modulo). Ogni servizio è distinto dal proprio file di configurazione app.yaml.

  • Cloud Service Mesh: Cloud Monitoring supporta i mesh di servizi basati su un singolo cluster GKE. In questa configurazione, un servizio Cloud Service Mesh corrisponde direttamente a un servizio GKE. Tutti i servizi Cloud Service Mesh, sia gestiti dall'utente sia gestiti dal sistema, vengono rilevati automaticamente.

Dashboard per i microservizi rilevati automaticamente

Viene creata automaticamente una dashboard dei servizi per tutti i microservices rilevati automaticamente. La dashboard contiene i dettagli dei metadati del servizio, la sequenza temporale degli avvisi, lo stato degli obiettivi del livello di servizio (SLO) e i log relativi al servizio. Ciascuno di questi componenti è descritto in modo più dettagliato in Utilizzare le dashboard dei microservizi.

Dashboard del servizio per i microservizi rilevati automaticamente.

GKE, Cloud Run e servizi personalizzati

Cloud Monitoring può identificare servizi potenziali o candidati per i seguenti tipi:

  • Spazi dei nomi GKE
  • Servizi GKE
  • Carichi di lavoro GKE
  • Servizi Cloud Run

Tuttavia, potrebbero esserci molti candidati di questo tipo e non necessariamente vuoi creare SLO per tutti. Il monitoraggio crea un elenco di servizi candidati e tu identifichi i servizi da trattare come servizi di monitoraggio selezionandoli dall'elenco. Il monitoraggio crea quindi l'infrastruttura del servizio per te.

Quando nessun tipo di servizio esistente è adatto a un'applicazione per la quale vuoi creare SLO, puoi definire un servizio personalizzato.

Per ulteriori informazioni sull'identificazione dei servizi candidati e sulla creazione di servizi personalizzati, consulta Definire un microservizio.