Qual è la differenza tra osservabilità e monitoraggio?

In DevOps, l'osservabilità e il monitoraggio sono due processi distinti basati sui dati. Si utilizzano per mantenere e gestire con successo lo stato e le prestazioni delle architetture di microservizi distribuite e della relativa infrastruttura. Il funzionamento di questi sistemi si basa sullo scambio di dati tra decine, centinaia o migliaia di componenti diversi. 

Il monitoraggio è il processo di raccolta di dati e generazione di report su diversi parametri che definiscono lo stato del sistema. L'osservabilità è un approccio più investigativo. Esamina attentamente le interazioni dei componenti di sistemi distribuiti e i dati raccolti dal monitoraggio per individuare la causa principale dei problemi. Include attività come l'analisi del percorso di tracciamento, un processo che segue il percorso di una richiesta attraverso il sistema per identificare gli errori di integrazione. Il monitoraggio raccoglie dati sui singoli componenti, mentre l'osservabilità esamina il sistema distribuito nel suo insieme.

Scopri di più su DevOps

Differenze di funzionamento tra osservabilità e monitoraggio

L'osservabilità e il monitoraggio sono entrambi processi essenziali per l'esecuzione di programmi DevOps efficaci.

Monitoraggio

Il monitoraggio dei sistemi informatici è una pratica antica quanto l'esecuzione dei sistemi informatici stessi. Il processo di monitoraggio raccoglie dati su un sistema per verificare se funziona come previsto. Include report e avvisi su errori, guasti o valori anomali dei dati. 

Ad esempio, gli strumenti di monitoraggio possono raccogliere dati per misurare il tempo impiegato per implementare una versione dell'applicazione. Se questo non rientra nell'intervallo previsto, gli strumenti di monitoraggio possono avvisare gli utenti, indicando che probabilmente qualcosa è andato storto. 

Il monitoraggio DevOps copre l'intero ciclo di vita dello sviluppo del software (SDLC). Il monitoraggio delle prestazioni delle applicazioni (APM) è un sottoinsieme specializzato del monitoraggio DevOps che si concentra sulle applicazioni in esecuzione in produzione. Dà priorità alle metriche applicate all'esperienza utente.

Scopri di più sul ciclo di vita dello sviluppo del software

Scopri di più sul monitoraggio delle prestazioni delle applicazioni

Osservabilità

L'osservabilità comporta possibilità e visibilità più ampie per gli strumenti di monitoraggio tradizionali, incorporando dati situazionali e storici aggiuntivi e interazioni di sistema. Consente di indagare sulla causa principale degli avvisi di monitoraggio, oltre che sui problemi che si presentano per via delle interazioni tra più componenti.

È possibile utilizzare gli strumenti di osservabilità per eseguire il debug degli stessi sistemi basati su architetture di applicazioni distribuite. Inoltre, è possibile utilizzarli per osservare lo stato generale del sistema in tempo reale e le interazioni tra i suoi componenti. È possibile utilizzare il software di osservabilità per mappare un intero sistema interconnesso, le sue dipendenze e le interazioni in tempo reale.

Quali sono le somiglianze tra osservabilità e monitoraggio?

Sia l'osservabilità che il monitoraggio derivano originariamente dal campo della teoria del controllo, un campo dell'ingegneria dei sistemi e della matematica. Entrambi sono ampiamente utilizzati in tutti gli ambienti fisici informatici e misti per il mantenimento dell'integrità e delle prestazioni del sistema. In DevOps, i termini vengono spesso utilizzati in modo intercambiabile perché entrambi si riferiscono a dati di telemetria come metriche, eventi, log e tracce.

Parametri

Le metriche sono misurazioni dei dati di sistema. Un esempio potrebbe essere la velocità di trasmissione effettiva della rete o il numero di errori delle applicazioni in una settimana. I report di monitoraggio su metriche e osservabilità cercano modi per migliorarne i valori.

Eventi

Gli eventi sono azioni discrete che si verificano in un sistema in qualsiasi momento. Un esempio potrebbe essere un utente che modifica una password o un avviso che indica un numero elevato di tentativi di inserimento della password. Gli eventi attivano il monitoraggio e supportano l'osservabilità nelle indagini sugli incidenti.

Log

I log sono file generati dal software contenenti informazioni sulle operazioni, le attività e i modelli di utilizzo del sistema. Includono un registro storico di tutti i processi, gli eventi e i messaggi insieme a dati descrittivi aggiuntivi, come i timestamp, per contestualizzare queste informazioni. Il monitoraggio genera log che l'osservabilità utilizza per ulteriori analisi del sistema.

Scopri di più sui file di log

Tracce

Le tracce rappresentano il percorso completo di una singola operazione attraverso i suoi vari sistemi interconnessi. Per un tracciamento completamente distribuito, è necessario che i segnali siano emessi da ogni transazione nell'architettura dei microservizi per il tracciamento. Il monitoraggio consente il tracciamento, un'importante funzione dell'osservabilità.

Osservabilità e monitoraggio: differenze principali

Il monitoraggio è una componente fondamentale dell'osservabilità. Il monitoraggio completo crea metriche descrittive, eventi, log e tracce che misurano l'essenziale in modo facilmente identificabile e recuperabile. I registri storici vengono archiviati insieme alle misurazioni correnti per creare un quadro generale del sistema. L'osservabilità può quindi utilizzare quanto creato dal monitoraggio per indagare più a fondo sugli incidenti.

Il monitoraggio indica il quando e il cosa di un errore di sistema, mentre l'osservabilità ne indica il perché e il come. Ci sono molti segnali da mappare e monitorare per ottenere un quadro generale dello stato interno e dello stato dell'intero sistema. Tutti questi dati sono necessari per condurre indagini efficaci. Perché l'osservabilità sia utile ed efficace, è necessario che il monitoraggio sia completo e descrittivo.

Anomalie

Con i sistemi di monitoraggio, è possibile scoprire anomalie o comportamenti insoliti nello stato e nelle prestazioni del sistema. Con l'osservabilità, è possibile indagare ulteriormente su eventuali anomalie, anche se si verificano a causa delle interazioni tra centinaia di componenti del servizio.

Causa ed effetto

Il monitoraggio si concentra sulla misurazione di alcuni valori per vedere se ci sono effetti su un sistema. L'obiettivo dell'osservabilità è comprendere la causa di questi effetti. Ad esempio, al rilascio di un nuovo codice, il monitoraggio tiene traccia delle metriche di sistema per verificare se i tempi di caricamento dell'applicazione o i tempi di recupero dei dati sono influenzati dalla modifica. In caso affermativo, l'osservabilità ne indaga il motivo o la causa. Rivela quale parte della modifica del codice ha causato l'effetto e suggerisce modi per risolverlo.

Interazioni di sistema

In genere, il monitoraggio misura lo stato di un particolare sistema. Raccoglie dati su tutti i diversi componenti del sistema, ma i dati potrebbero essere isolati e l'interconnessione è difficile da comprendere. Con l'osservabilità, si ottiene una visione generale di tutti i sistemi interconnessi per comprendere dove e come si verificano i problemi.

Quando utilizzare osservabilità o monitoraggio

L'individuazione retrospettiva degli errori, come per esempio la segnalazione di interruzioni da parte degli utenti o la scoperta che un'applicazione è in esecuzione sul sistema di destinazione sbagliato, può comportare perdite di tempo, denaro, reputazione e risorse per gli sviluppatori. Il monitoraggio è indispensabile per la rilevazione proattiva degli errori. Gli strumenti di monitoraggio generano avvisi per tutti i tipi di discrepanze che è possibile identificare e correggere prima che causino conseguenze a lungo termine.

Un sistema osservabile si aggiunge alle funzionalità di monitoraggio esistenti. È essenziale per l'esecuzione di architetture di applicazioni di microservizi, soprattutto quando vengono implementate su un'infrastruttura cloud distribuita. Con il solo monitoraggio, diventa quasi impossibile identificare e isolare l'applicazione o il servizio da cui hanno origine gli errori. La corretta acquisizione e il corretto monitoraggio dei dati, insieme all'osservabilità, consentono di tracciare gli errori attraverso sistemi complessi.

Riepilogo delle differenze tra monitoraggio e osservabilità

 

Monitoraggio

Osservabilità

In cosa consiste?

Misurazione e creazione di report su metriche specifiche all'interno di un sistema per garantirne l'integrità.

Raccolta di metriche, eventi, log e tracce per consentire un'indagine approfondita sui problemi di salute nei sistemi distribuiti con architetture di microservizi.

Focus principale

Raccolta di dati per identificare effetti anomali del sistema.

Esame della causa principale di effetti anomali del sistema.

Sistemi coinvolti

In genere, sistemi autonomi.

In genere, sistemi multipli e disparati.

Tracciabilità

Limitato agli edge del sistema.

Disponibile dove i segnali vengono emessi su architetture di sistema disparate.

Esiti degli errori di sistema

Il quando e il cosa.

Il come e il perché.

In che modo AWS può aiutarti a soddisfare i requisiti di osservabilità e monitoraggio?

AWS Cloud Operations fornisce un modello e diversi strumenti per lavorare nel cloud in modo sicuro ed efficiente. È possibile trasformare l'organizzazione, modernizzare e migrare le applicazioni e accelerare l'innovazione con Amazon Web Services (AWS). 

Grazie al monitoraggio e all'osservabilità nelle operazioni cloud, è possibile raccogliere, correlare, aggregare e analizzare la telemetria. Questo vale per tutta la rete, l'infrastruttura e le applicazioni in ambienti cloud, ibridi o on-premise. È possibile ottenere informazioni dettagliate su comportamento, prestazioni e stato del sistema, così da poter rilevare, indagare e risolvere i problemi più velocemente. Se abbinate all'intelligenza artificiale (IA) e al machine learning (ML), è possibile utilizzare queste informazioni per reagire, prevedere e prevenire i problemi in modo proattivo.

Ad esempio, puoi utilizzare:

  • AWS X-Ray per analizzare ed eseguire il debug di applicazioni di produzione e distribuite, tracciare le richieste degli utenti, identificare i colli di bottiglia e monitorare le prestazioni
  • Amazon CloudWatch per accedere e analizzare dati di risorse e applicazioni e output esterni utilizzando potenti strumenti di visualizzazione su AWS, on-premise e in altri cloud
  • Grafana gestito da Amazon per gestire completamente Grafana (il popolare strumento di monitoraggio) per query, visualizzazioni e avvisi su metriche, log e tracce tra i dati operativi
  • Servizio gestito da Amazon per Prometheus per gestire completamente Prometheus, uno strumento di monitoraggio dei container per la manutenzione e le query delle metriche delle serie temporali dai cluster di container Kubernetes autogestiti

Inizia subito a lavorare con il monitoraggio e l'osservabilità su AWS creando un account.