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. 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 dagli altri microservizi del sistema. Altri ancora basano la loro comprensione sul concetto di microservizio fornito dalla piattaforma di sviluppo, come i servizi App Engine o il servizio Cloud Service Mesh.

Il nostro obiettivo non è quello di imporre una definizione di microservizio. 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 i sistemi di monitoraggio senza modificare una sola riga di codice.

Per aiutarti a monitorare i 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 soggettivi di microservizio. Nelle architetture che utilizzano questi framework, Cloud Monitoring rileva automaticamente quando i servizi vengono sottoposti a deployment, aggiornati o eliminati. Il monitoraggio esegue questo rilevamento tramite 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 microservizio, chiamato servizio App Engine (e in precedenza modulo). Ogni servizio si distingue per il proprio file di configurazione app.yaml.

  • Cloud Service Mesh: Cloud Monitoring supporta i service mesh 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, gestiti dall'utente e dal sistema, vengono rilevati automaticamente.

Dashboard per i 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 cronologia degli avvisi, lo stato degli obiettivi del livello di servizio (SLO) e i log correlati al servizio. Ciascuno di questi componenti è descritto in maggiori dettagli in Utilizzo dei dashboard dei microservizi.

Dashboard dei servizi 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 è detto che tu voglia creare SLO per tutti. Il monitoraggio crea un elenco di servizi candidati e tu identifichi i servizi che vuoi considerare come servizi di monitoraggio selezionandoli dall'elenco. Il monitoraggio crea quindi l'infrastruttura di 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 Definizione di un microservizio.