Questo documento introduce i microservizi e descrive i tipi di microservizi supportate da Cloud Monitoring.
Il termine microservice ha un significato diverso a seconda dell'utente. Per alcuni il microservizio corrisponde alle "caselle" disegnati sulla lavagna quando parlando dell'architettura di sistema. Altri si riferiscono a una definizione definizione 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 in modo indipendente 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. Invece, vogliamo aiutarti a monitorare i sistemi su larga scala durante la tua trasformazione fornendo strumenti di monitoraggio orientati ai servizi per supportarti e la tua architettura. Vogliamo lavorare con voi per adottare best practice per il monitoraggio dei sistemi 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 basati su 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 rilevare attraverso l'analisi costante del flusso di metadati prodotto da un progetto.
Cloud Monitoring può rilevare automaticamente i microservizi creati i seguenti framework di sviluppo:
App Engine: App Engine ha una forte nozione di microservizi. 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 i mesh di servizi su un singolo cluster GKE. In questa configurazione, un servizio Cloud Service Mesh corrisponde direttamente Servizio GKE. Tutti i servizi Cloud Service Mesh, sia gestite dall'utente che gestite dal sistema, vengono rilevati automaticamente.
Dashboard per 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. Ognuno di questi componenti è descritto in modo più dettagliato in Utilizzare le dashboard dei microservizi.
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 creare SLO su ognuno di essi. 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 un'infrastruttura di servizi completamente gestita.
Se nessun tipo di servizio esistente supporta un'applicazione per la quale 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.