La capacità di un’azienda di innovare, di servire al meglio i propri clienti e di rimanere competitiva dipende direttamente dalle performance dei sistemi IT su cui poggia. Applicazioni, infrastrutture e servizi devono garantire operatività costante, alta disponibilità e prestazioni in linea con le esigenze dell’azienda.
Quando si verificano anomalie o quando le performance e la scalabilità di un’applicazione non soddisfano le aspettative di un cliente (anche interno), è fondamentale identificare la causa in modo tempestivo, ma ciò diventa sempre più difficile a causa della crescente complessità dei sistemi moderni. È in questo contesto che entrano in gioco il monitoring e l’observability.
Il Monitoring dei sistemi IT: fondamenti, tipologie e sfide
Da sempre, il monitoring è una pratica fondamentale nella gestione dei sistemi IT, nata per garantire il corretto funzionamento di infrastrutture, applicazioni e servizi digitali.
Delle innumerevoli definizioni, troviamo molto interessante quella (Splunk) secondo cui il monitoring consiste nel "raccogliere e analizzare tipi di dati predefiniti (larghezza di banda della rete, tassi di utilizzo della CPU… ndr) per rilevare comportamenti anomali che potrebbero indicare possibili problemi”. In un mondo in cui un singolo minuto di downtime può costare fino a 9.000 dollari, avere una visibilità completa e in tempo reale su sistemi, applicazioni e dati non è solo un vantaggio, ma una necessità assoluta. Non a caso, il monitoring è la base delle pratiche moderne di cybersecurity, delle IT Ops, dell’observability stessa e di molteplici pratiche di IT Service Management.
Cosa può essere monitorato e perché
Ogni componente di un sistema IT può essere monitorato. Negli anni, questa possibilità ha dato origine a diverse discipline/casi d’uso specifici, ciascuno focalizzato su un aspetto delle operazioni IT.
Tra le più diffuse:
- Network monitoring;
- Server monitoring;
- Security monitoring;
- Application Performance Monitoring (APM);
- API monitoring;
- Real User Monitoring (RUM) e Synthetic Monitoring.
Per comprendere fin da subito la differenza concettuale con l’observability, è importante considerare che il monitoring è un’azione, e in particolare la misurazione di metriche predefinite (CPU e memoria, latenza, disponibilità, errori, traffico dati…) per valutare lo stato di salute complessivo di un sistema IT. In altre parole, è un processo con cui l’IT osserva parametri specifici per rilevare anomalie e garantire il corretto funzionamento dell’ecosistema che sorregge il business e suoi processi.
Monitoring IT: le sfide e perché bisogna andare oltre
Il monitoring continua a essere un pilastro della gestione dei sistemi IT, ma circa un decennio fa ha iniziato a mostrare i suoi limiti di fronte alla crescente complessità delle architetture moderne, sempre più caratterizzate dall'uso di container, microservizi, pod e orchestratori come Kubernetes.
Affidarsi a strumenti di monitoring tradizionali comporta il rischio di una frammentazione eccessiva, poiché ogni componente dell’ecosistema richiede strumenti specializzati. Questo pone serie sfide in ottica di integrazione e impedisce lo sviluppo di una visione unificata e granulare dell'intero sistema, rendendo praticamente impossibile risalire in tempo reale alla causa di comportamenti anomali, come quando gli utenti percepiscono una generica “lentezza” delle applicazioni. Se un tempo la user experience era determinata da uno o da una limitata cerchia di servizi (che potevano essere monitorati), oggi è la risultante delle interazioni tra centinaia, a volte migliaia di microservizi, cosa che richiede ovviamente un approccio diverso.
L’immensa quantità di dati generati dai sistemi moderni, inoltre, supera la capacità di gestione delle soluzioni tradizionali, che spesso non sono in grado di elaborare tutte queste informazioni con la necessaria tempestività. Ciò porta a dover trascurare dati fondamentali e a non poter costruire un quadro completo e contestualizzato, con conseguente sovrabbondanza di alert e difficoltà a separare i segnali rilevanti da quelli trascurabili.
Questi vincoli hanno evidenziato, nel corso degli anni, la necessità di un approccio più avanzato, moderno e cloud native nella gestione dei sistemi IT. Ed è così diventata fondamentale l’observability.
Observability, la chiave per comprendere i gestire i sistemi IT moderni
Tra monitoring e observability c’è una differenza concettuale. Mentre il monitoring è un’azione che implica la raccolta e l’analisi di metriche predefinite per valutare la solidità e le performance di un sistema, l’observability è una proprietà intrinseca del sistema stesso, che deve essere progettato per offrire – tramite i cosiddetti dati di telemetria - visibilità continua e profonda sulle sue operazioni interne. Come sottolineato da molti commentatori, c’è dunque una notevole differenza a livello di approccio, di mindset: il monitoring è reattivo, mentre l’observability è proattiva, poiché è il sistema stesso a fornire in output le informazioni necessarie per migliorarne la gestione, eventualmente tramite tecniche di analisi dei dati (AI).
Un sistema osservabile emette proattivamente informazioni sul suo stato, offrendo a chi lo gestisce (almeno) due grandi benefici:
- Una visione olistica del sistema nel suo complesso;
- Un’analisi approfondita delle cause di eventuali anomalie, fino al livello del singolo microservizio.
Questo approccio risolve alcuni tipici limiti del monitoring: se infatti un servizio non funziona come dovrebbe ma non impatta l’esperienza dell’utente, l’observability consente di ridurre la priorità dell'intervento; al contrario, se il sistema complessivo è in difficoltà, essa permette di identificare la causa e di intervenire all’istante.
Una delle differenze chiave tra monitoring e observability è quindi la profondità di indagine. Mentre il monitoring si concentra sulla visibilità di elementi predefiniti del sistema, l'observability fornisce tutti i dati necessari per porsi qualsiasi domanda sul comportamento del sistema. Tuttavia, per quanto non esista uno specifico tool in grado di abilitare l’observability, gli strumenti di monitoring (come l'infrastructure monitoring, application monitoring o synthetic monitoring) sono componenti essenziali di qualsiasi progetto di osservabilità, dimostrando l’interconnessione tra i due paradigmi.
Come funziona l'observability e i suoi benefici
Il patrimonio informativo che abilita l’observability dei sistemi IT è composto da tre tipologie di dato: le metriche, i log e le tracce, che insieme forniscono una visibilità completa sul comportamento del sistema stesso.
- Le metriche sono dati quantitativi che misurano il comportamento e le performance del sistema, come tempi di risposta, utilizzo della CPU e latenza.
- I log sono file che tracciano eventi specifici all'interno del sistema come errori, avvisi e attività umane.
- Le tracce sono utilissime perché seguono il flusso di una singola richiesta attraverso i vari microservizi, container e altre infrastrutture.
Tutti questi dati vengono acquisiti da molteplici sorgenti e trasformati in insight utili da tecnologie avanzate come AI e Machine Learning (ML), che consentono di classificare, organizzare e soprattutto interpretare volumi di dati che nessun operatore umano potrebbe mai gestire manualmente.
L’adozione dell’observability consente di ottenere una comprensione approfondita dei sistemi complessi, permettendo ai team IT di analizzare come ogni componente interagisce all’interno dell’architettura. Questo livello di visibilità è determinante per individuare le cause di eventuali anomalie, riducendo il MTTR (Mean Time to Recovery) e accelerando la risoluzione dei problemi.
Naturalmente, la capacità di monitoraggio in tempo reale si traduce in prestazioni ottimizzate, in una scalabilità perfezionata e nei massimi livelli di uptime, che rimangono obiettivi fondamentali a prescindere dalla complessità dell'infrastruttura. L’azienda può beneficiare di clienti più soddisfatti e di dipendenti più produttivi, poiché i sistemi funzionano senza intoppi e con prestazioni adeguate alla loro funzione in azienda.