Microservizi

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

Il termine microservizio ha un significato diverso a seconda dell'utente. Per alcuni, il microservizio 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 con indirizzi di rete la cui funzionalità è determinata dall'API rivolta all'esterno, che può essere sviluppata, sottoposta a deployment e gestita in modo indipendente da altri microservizi nel sistema. Altri ancora basano la propria conoscenza sul concetto di microservizi fornito dalla piattaforma di sviluppo, ad esempio i servizi App Engine o il servizio Cloud Service Mesh.

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

Per aiutarti a monitorare i microservizi, Cloud Monitoring fa quanto segue:

  • Rileva automaticamente i microservizi quando possibile
  • Offre 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 a scoperta automatica

Alcuni framework di sviluppo moderni offrono concetti basati su microservizi. Nelle architetture che utilizzano questi framework, Cloud Monitoring rileva automaticamente il deployment, l'aggiornamento o l'eliminazione dei servizi. Il monitoraggio realizza questo rilevamento tramite l'analisi costante del flusso di metadati generato da un progetto.

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

  • App Engine: App Engine ha una forte nozione di microservizio, chiamato servizio App Engine (precedentemente noto come modulo). Ogni servizio si distingue per il proprio file di configurazione app.yaml.

  • Cloud Service Mesh: Cloud Monitoring supporta mesh di servizi creati 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 che dal sistema, vengono rilevati automaticamente.

Dashboard per microservizi rilevati automaticamente

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

Dashboard dei servizi per 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 è necessario creare SLO per tutti. Monitoring crea un elenco di servizi candidati e puoi identificare i servizi che vuoi trattare come servizi di Monitoring selezionandoli dall'elenco. Monitoring crea quindi l'infrastruttura di servizi per te.

Se nessun tipo di servizio esistente supporta un'applicazione per cui vuoi creare SLO, puoi definire un servizio personalizzato.

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