Observability: che cos’è e perché è il futuro del monitoring

observability

Il concetto di observability rappresenta l’evoluzione degli strumenti di monitoring così come li abbiamo conosciuti finora. Non si tratta tanto di una nuova moda che mira a sostituire i tool di monitoraggio IT, quanto piuttosto di una attitudine che ha lo scopo di rendere il monitoring adeguato ai nuovi ambienti architetturali delle aziende.

 

Cos'è l’observability

Ma di cosa si tratta esattamente quando viene citato il termine “observability”?

Mutuata dalla teoria matematica del controllo, l’observability si riferisce perciò sostanzialmente alla capacità di dedurre gli stati interni di un sistema in base agli input esterni. Applicato all’IT aziendale, questo approccio modifica il monitoraggio classico inteso come processo di traduzione dei dati delle metriche di log dell’infrastruttura in insight significativi. La proprietà dell’observability, infatti, include la capacità di dedurre dalle metriche di log dell’infrastruttura le caratteristiche di performance associate ai componenti interni

Soprattutto oggi, dinanzi a infrastrutture distribuite che operano attraverso molteplici livelli di astrazione del software e della virtualizzazione, l’esigenza dell’analisi delle prestazioni non può più limitarsi al monitoraggio reattivo dei singoli componenti.

 

Come funziona l'observability

Per capire come funziona in concreto l’observability, bisogna fare riferimento ai tre pilastri fondamentali su cui si fonda: logs, metriche e tracing.

  • I logs sono registrazioni di eventi che si verificano in un sistema. Possono contenere informazioni dettagliate su cosa è successo, quando è successo e altre informazioni rilevanti. I log sono utili per comprendere il flusso di lavoro di un'applicazione e identificare eventuali anomalie, errori o problemi.
  • Le metriche sono dati numerici che misurano le prestazioni di un sistema. Possono includere informazioni come la quantità di traffico di rete, il numero di richieste al secondo o il tempo di risposta di un'applicazione. Le metriche forniscono un'indicazione delle prestazioni di un sistema e possono essere utilizzate per intercettare deviazioni e problematiche.
  • Il tracing è una tecnica che consente di seguire il percorso di una richiesta attraverso un sistema distribuito. Ogni componente del sistema registra informazioni sul tempo di esecuzione, i tempi di risposta e le dipendenze delle richieste. Queste informazioni possono essere utilizzate per identificare eventuali ritardi o blocchi nel flusso di lavoro dell'applicazione.

Insomma, l’observability si fonda sull'idea che è necessario avere una visione completa e dettagliata di un sistema, basata su logs, metriche e tracing, per poterne comprendere il funzionamento e gestirne efficacemente le problematiche.

 

Quali sono i vantaggi dell’observability

Riassumendo quanto descritto, l’implementazione di strumenti e pratiche di observability consente di monitorare e diagnosticare i problemi in tempo reale, facilitando la manutenzione del sistema e la risoluzione delle difettosità, a tutto vantaggio delle prestazioni e dell’esperienza utente.

I benefici concreti derivanti dall’observability possono essere sintetizzati come segue:

  • Troubleshooting più rapido ed efficace grazie al monitoraggio in tempo reale del sistema e alla disponibilità di informazioni dettagliate come logs, metriche e tracing.
  • Ottimizzazione delle performance perché avendo una visibilità costante sull’andamento prestazionale di un sistema, si possono identificare e rimuovere i punti deboli, migliorando efficacia e user experience.
  • Manutenzione in ottica preventiva poiché dall’analisi di metriche e logs si possono intercettare segnali sospetti e comportamenti anomali che potrebbero generare problemi futuri.
  • Miglioramento del processo decisionale visto che l’ampia varietà di informazioni disponibili permette di effettuare scelte consapevoli e data-driven su possibili interventi.
  • Più tempo per l’innovazione poiché, grazie all’observability, gli sviluppatori sono più veloci nel risolvere i problemi e possono dedicarsi maggiormente alle attività strategiche di progettazione.

Observability-1

La complessità degli ambienti che guida l’observability

È bene sottolineare che l’application observability va di pari passo con l’incremento della complessità degli ambienti da monitorare, a fronte di una aspettativa sempre più elevata da parte degli utenti finali. Tali ambienti vedono la compresenza di piattaforme in cloud, di container e microservizi insieme all’adozione crescente di pratiche DevOps dirette a migliorare la customer experience, aumentare l’efficienza operativa e accelerare la velocità di sviluppo.

In questo scenario Gartner sostiene che “i sistemi di monitoraggio tradizionali catturano ed esaminano i segnali in relativo isolamento, con alert legati a violazioni della soglia o del rate-of-change. I tool di observability, invece, consentono di spiegare in modo più efficace il comportamento inaspettato del sistema”.

Per questa ragione vendor come Dynatrace, specializzati in soluzioni APM (Application Performance Monitoring), o Splunk, focalizzati nei prodotti SIEM (Security Information and Event Management), hanno fatto dell’observability la chiave con cui mettere le aziende in condizione di ridurre sia il numero di interruzioni di servizio sia il loro impatto e la loro gravità.

 

Perché i system integrator aiutano nell’observability

I due fornitori citati non sono i soli ad aver introdotto una trasformazione del monitoring nell’ottica dell’observability. Anche altri brand, per esempio, si stanno muovendo nella stessa direzione. Questa è la ragione per cui non è facile svolgere una software selection per identificare lo strumento migliore a corredo dell’observability. Spesso, infatti, è dalla combinazione di più sistemi che l’organizzazione può trarre i maggiori benefici per il monitoraggio di infrastruttura e applicazioni. I system integrator, in tal senso, possono diventare un partner prezioso nella scelta del modello di observability che risponda adeguatamente alla situazione specifica. Che si stiano spostando carichi di lavoro nel cloud per la prima volta, che sia stia iniziando a distribuire applicazioni in container o ancora che si stiano eseguendo microservizi in produzione, è indispensabile implementare un metodo di monitoraggio che, sempre per citare Gartner, metta in condizione di “identificare e correggere anomalie precedentemente invisibili”.

 

L’observability anche per sistemi poco osservabili

La convenienza del supporto di un system integrator con competenze specifiche nel monitoring si intuisce pensando a cosa significhi in concreto l’observability. L’osservabilità dipende dalla semplicità del sistema, dalla rappresentazione approfondita delle metriche di performance e dalla capacità degli strumenti di monitoraggio di identificare le metriche corrette. Peccato che questa ipotesi si scontri con la realtà, cioè con quella complessità a cui si accennava prima in cui l’analisi continua di tanti dati genera volumi di alert e falsi positivi spesso non necessari. In pratica, quando l’infrastruttura presenta caratteristiche di bassa osservabilità, per riuscire a monitorarla correttamente è fondamentale sia valutare le metriche corrette sia filtrare attentamente il “rumore” per esempio utilizzando soluzioni basate sull’intelligenza artificiale. Per questo motivo il concetto di application observability ormai ha assunto un ruolo centrale anche nelle metodologie di sviluppo del ciclo di vita del software, grazie alla predisposizione di sistemi che sono nativamente in grado di fornire le informazioni che occorrono per essere osservati.

monitoring per il finance