Microservizi

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

Il termine microservizio ha significati diversi a seconda delle persone. Per alcuni, il microservizio corrisponde alle "caselle" disegnate sulla lavagna quando si parla di architettura di sistema. Altre fanno riferimento a una definizione più formale che descrive un endpoint con indirizzi di rete con funzionalità determinate dalla sua API rivolta all'esterno che possono essere sviluppate, sottoposte a deployment e gestite in modo indipendente da altri microservizi nel sistema. Altri ancora si basano sulla loro comprensione sul concetto di microservizi fornito dalla loro piattaforma di sviluppo, come i servizi App Engine o il servizio Anthos Service Mesh.

Il nostro obiettivo non è imporre una definizione di microservizio a 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 collaborare con te per adottare le best practice per il monitoraggio dei sistemi senza modificare una sola riga di codice.

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

  • Rileva automaticamente i microservizi quando 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 "guidati" di microservizi. Nelle architetture che utilizzano questi framework, Cloud Monitoring rileva automaticamente quando viene eseguito il deployment, l'aggiornamento o l'eliminazione dei servizi. Monitoring realizza questo rilevamento attraverso l'analisi costante del flusso 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 una forte nozione di microservizi, chiamata servizio App Engine (in precedenza modulo). Ogni servizio si distingue per il proprio file di configurazione app.yaml.

  • Anthos Service Mesh: Cloud Monitoring supporta mesh di servizi creati sopra un singolo cluster GKE. In questa configurazione, un servizio Anthos Service Mesh corrisponde direttamente a un servizio GKE. Tutti i servizi Anthos Service Mesh, sia gestiti dall'utente che gestiti 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 di servizio (SLO) e i log relativi al servizio. Ciascuno di questi componenti è descritto in maggiore dettaglio in Utilizzare le 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, possono esistere molti candidati di questo tipo e non è necessario creare SLO per tutti. Monitoring crea un elenco di servizi candidati e tu devi identificare quelli che vuoi considerare 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 saperne di più sull'identificazione dei servizi candidati e sulla creazione di servizi personalizzati, consulta Definizione di un microservizio.