Data Observability: cos'è e perché è così importante?
Il concetto di data observability è mutuato dall'ambito DevOps ed è usato nel contesto del data management. In quest'ottica, le questioni che gravitano intorno alla gestione dei dati sono considerate problematiche da ricondurre all'area presidiata dai data engineers, a cui è affidato l'obiettivo di migliorare, nei tempi previsti, l'accuratezza e l'affidabilità dei dati, destinati ai fruitori e alle applicazioni aziendali. Questo consentirebbe agli IT Manager di prevenire eventuali criticità.
L'osservabilità si riferisce alla capacità di comprendere ciò che sta accadendo all'interno di un sistema basandosi sui dati esterni esposti da tale sistema. Questa capacità viene migliorata quando i dati osservabili possono essere collegati insieme con i dati provenienti da altri sistemi aziendali o combinati con dati esterni.
Il tema è oggi particolarmente in auge, in quanto si sposa a un'altra novità che è entrata a pieno titolo tra le priorità aziendali: l'applicazione dell'Intelligenza Artificiale ai processi organizzativi. La data observability, infatti, fa largo uso della process automation per identificare criticità relative alla qualità dei dati, per prevenire problemi di fruibilità dei dati stessi, per migliorare le performance nella gestione aziendale e nella pianificazione della produzione.
La Data Observability secondo Gartner
La base sottostante alla data observability è costituita dalla capacità di creare signal collections (raccolte di segnali) che sono indispensabili per cogliere correlazioni e compiere analisi, usando il data profiling, il data monitoring, l'anomaly detection e il data lineage.
La Data Observability è la capacità di comprensione dei flussi di dato che sono parte delle architetture moderne per avere un quadro completo e dettagliato sui propri dati, sulle correlazioni, le dipendenze e i vari livelli di distribuzione (pipeline, infrastrutture, applicazioni, API, ecc.) in ogni momento del loro ciclo di vita, con l'obiettivo di identificare, controllare, prevenire, scalare e rimediare ai vuoti informativi (data outrages) in modo rapido e con SLA prevedibili. Per fare questo la Data Observability raccoglie, consolida e analizza, in modo continuativo e su più livelli, i dati aziendali per raggiungere i propri obiettivi così come per informare e consigliare un miglior design, funzionale al raggiungimento di performance più elevate e una migliore governance che sia coerente agli obiettivi di business. (Gartner)
La data observability è uno strumento utile alla comprensione delle pipeline che sono parte costitutiva delle moderne architetture informative. Si pensi alle infrastrutture Data Fabric/Data Mesh che si compongono di una molteplicità di elementi proprietari e open source per la trasformazione, l'orchestrazione e il monitoraggio dei dati.
In questi ecosistemi entrano in gioco molteplici applicazioni e sono coinvolte diverse persone, originando un elevato grado di complessità. Gli strumenti tradizionali di monitoraggio e controllo della qualità dei dati richiedono interventi manuali e si limitano a verificare gli scostamenti rispetto a dei set di dati definiti in precedenza (il cd. Known known scenarios), la data observability, invece, è in grado di far emergere anche fenomeni ed elementi sconosciuti.
Le moderne soluzioni di data observability offrono la possibilità di monitorare i dati end-to-end e di far leva sulle capacità offerte dal machine learning per anticipare eventuali problematiche e i relativi impatti, riconducendole alle cause da cui esse sono dipese.
In ultima analisi lo scopo della data observability è quello di migliorare l'affidabilità dei dati e delle pipeline, aumentando la capacità di osservare e analizzare i cambiamenti di scenario ad ogni livello, indagando le cause che sottostanno a queste variazioni.
Data Observability: i requisiti necessari
La data observability può essere declinata in diversi modi, a seconda di come l'organizzazione si pone in relazione a quattro aspetti:
- observing data;
- observing data pipeline;
- observing data infrastructure;
- observing data users.
Observing data
I problemi relativi ai dati potrebbero essere più ampi dei meri problemi concernenti la qualità dei dati, che riguardano l'accuratezza e la completezza dei dati stessi, il monitoraggio e la validazione delle soluzioni proposte per le metriche, le anomalie e i valori outlier, utilizzando anche algoritmi non supervisionati. Le soluzioni di data observability monitorano i dati e metadati associati; i cambiamenti in qualsiasi modello storico possono attivare i campanelli di allarme. Questo può essere effettuato dall'alto verso il basso (guidato dal contesto) e dal basso verso l'alto (con modelli di dati o "impronte identificative dei dati" e inferenze che partono dai loro valori).
Observing pipeline
Le metriche relative alle pipeline dei dati e i metadati sono osservati per identificare criticità nella trasformazione, negli eventi, nelle applicazioni (e nel codice) con cui i dati interagiscono. Qualsiasi cambiamento nelle metriche delle pipeline dei dati e dei metadati che riguardino il volume, il comportamento, la frequenza e altro, ogni variazione rispetto a quanto ci si aspetta può indicare la presenza di anomalie che fanno scattare un campanello di allarme.
Observing data infrastructure
Alcune soluzioni cercano anche correlazioni tra segnali e metriche a livello dell'infrastruttura dei dati, in un'ottica più ampia del ciclo di vita dei dati. Queste soluzioni possono includere log e metriche sul consumo di risorse destinato al calcolo, alle performance, all'underprovisioning e all'overprovisioning di risorse che può essere rilevante per l'ottimizzazione dei costi nell'ottica del FinOps e della cloud governance. Queste soluzioni monitorano e analizzano i log dei processi e i metadati operativi partendo dai log delle query.
Observing data users
La data observability è a servizio di persone che si trovano in una fase avanzata del ciclo di vita del dato, come i data engineer, i data scientist e gli analytics engineer. Le problematiche a questo livello riguardano il data delivery (e anche le SLA) e il disegno delle pipeline. La data observability, dunque, si focalizza sull'evitare che queste problematiche si verifichino, analizzando metadati aggiuntivi a disposizione (analisi e attivazione). Esse, infatti, vanno al di là della comprensione da parte degli utilizzatori aziendali, degli analisti o degli amministratori. Sono problematiche che si situano più a monte e che quando raggiungono i sistemi produttivi, creano danni ingenti e inevitabili. Al momento, gli strumenti per la data observability sono particolarmente utili per lo streaming di dati in tempo reale, gli strumenti di monitoraggio tradizionali, infatti, presentano in questo caso dei limiti anche solo per profilare e comprendere le caratteristiche dei dati stessi.
I requisiti indispensabili per poter applicare la Data Observability
Requisiti di supporto
- Connessione tra più fonti dato.
- Strumenti di integrazione per la gestione dei dati, l'orchestrazione delle pipeline.
- Scalabilità e opzioni per il Runtime Deployment.
- Data Catalogue per ricerche e visualizzazione metriche e semantiche.
- Usabilità (nessuna o poca necessità di ricorrere al codice per le interfacce e i comandi e supporto costante agli utilizzatori).
Strumentazione per la rilevazione e l'analisi dei segnali
- Raccolte di metadati (definizione dei dati, metadati sulle query, sull'utilizzo dei dati, sui log di accesso all'infrastruttura, sulle modifiche alla configurazione, sui drift nel volume/schema, ecc.).
- Strumenti per l'analisi e la profilazione dei dati (struttura, semantiche, rilevazione delle anomalie e degli outlaier, batch e real-time, esplorazioni e analisi automatiche).
- Strumenti per individuare correlazioni (analisi statistiche) e relazionali tra i segnali raccolti, con modelli AI/ML in grado di anticipare e prevenire errori.
Capacità di monitoraggio
- Monitoraggio dei dati non vincolato da regole standard, ma basato su regole adattive con la possibilità di una rilevazione automatica dei cambiamenti (nulls, typecasting, min/max, row counts, ecc.), dashboard per il monitoraggio e alert.
- Monitoraggio delle pipeline relativo a criticità legate al design e a diversi tipi di data drift (schemi, codice, configurazioni).
- Monitoraggio dell'infrastruttura (consumi e infra drift).
- Gestione delle regole (metriche automatiche, regole personalizzate e gestione dei test usando UI o supporto per il codice in Python, SQL, ecc.).
Analisi delle cause all'origine dei problemi e collaborazione
- Lineage e Analisi di Impatto dettagliate.
- Analisi delle interruzioni guidata da Intelligenza Artificiale e Machine Learning applicati a modelli storici.
- Alerts, gestione degli incidenti, audit e supporto agli SLA per i dati.
- Flussi di lavoro per la collaborazione in team
SolarWinds®
Tra le soluzioni più affidabili per la Data Observability, il Service Management e il Monitoraggio di Applicazioni e Database, c'è SolarWinds®, annoverato da Gartner® nel suo Magic Quadrant™ tra le APM Applicatin Performance Monitoring. SolarWinds® Observability è progettata per fornire una soluzione full-stack che connette i dati distribuiti in diversi nodi - applicazioni, servizi, cloud, infrastrutture ibride e on-premises - incluse Kubernetes®, AWS® e Azure® - database e dispositivi di rete, offrendo approfondimenti sui dati aziendali, intelligence operativa e automazione.