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. Mutuata dalla teoria matematica del controllo, l’observability si riferisce perciò 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à delle metriche di log dell’infrastruttura di dedurre 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.
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.