Gli obiettivi di data management
Quali sono gli obiettivi di un’azienda che vuole implementare una nuova piattaforma di data management (o gestione dei dati) o riammodernare quella esistente per liberare tutto il potenziale degli analytics?
- rendere i dati facili da condividere in tutta l’organizzazione, pur mantenendo un controllo appropriato su di essi
- mantenere nel tempo l’integrità dei dati e la capacità di analizzarli, nonostante il crescente volume che essi raggiungono
- rispettare le esigenze diverse di privacy e sicurezza
Data management: la sfida
Le difficoltà nel data management spesso nascono dopo tempo quando l’organizzazione si trova a far fronte al turnover delle risorse, a dover mantenere la consistenza di dati originati da sistemi che cambiano e a prendere decisioni su come gestire nuove richieste di utilizzo. Le sfide sono di natura tecnica e organizzativa.
Le sfide tecniche
- chiarezza, credibilità e affidabilità dei dati: accuratezza, completezza, e coerenza nel tempo devono far percepire il dato come affidabile, come una base solida da cui poter trarre profonda comprensione dei fenomeni e delle loro evoluzioni per prendere le decisioni.
- disponibilità, rilevanza, accessibilità: il dato deve essere rintracciabile per lo scopo dello specifico utilizzatore, accessibile secondo le caratteristiche del client al momento del bisogno, senza ritardi.
- sicurezza e controllo: significa garantire la riservatezza dei dati e saper concedere agli utenti e alle applicazioni l’accesso alle sole informazioni di competenza.
Le sfide organizzative
- amalgamare nel modo più efficiente possibile le persone che hanno esperienza nello specifico dominio applicativo con il personale tecnico dell’IT e con i rappresentanti degli utenti finali.
- raggiungere e mantenere un alto livello di conoscenza di ciascun dominio applicativo e competenza nell’uso degli strumenti e dei metodi che si adottano per l’analisi dei dati.
L’approccio data mesh per il data management
Il Data Mesh <<si fonda sulla decentralizzazione e la distribuzione della responsabilità alle persone che sono più vicine ai dati, al fine di sostenere il cambiamento continuo e la scalabilità>> (rif. al seguente articolo). La distribuzione di responsabilità si attua decomponendo i dati in modo orientato al dominio applicativo e per ciascun dominio si costituiscono team e ambiente tecnologico dedicati.
Tra i principi fondanti del data mesh vi sono:
Data as a Product (DaaP)
I dati di un dominio applicativo sono visti come un “prodotto” la cui cura viene assegnata ad un team composto da utenti coinvolti nel processo operativo ed esperti del dominio che conoscono e vedono i dati secondo un modello operazionale, insieme agli utenti ed esperti di analisi che conoscono il modello di consumo di quei dati. Il team del dominio è il proprietario di quei dati, ha il compito di costruire un set di dati consistente e coeso, mantenerlo affidabile e interoperabile con dati di altri domini applicativi, decidere chi vi può accedere.
Domain Driven Distributed Architecture
L’infrastruttura prevede l’uso delle tecnologie tipiche dei sistemi di data management basati su data warehouse e data lake, on-premise e in cloud, e deve essere configurata come una maglia di nodi ciascuno dei quali include lo stack tecnologico completo per immagazzinare, trasformare ed erogare sotto forma di micro-servizi i dati-prodotto di uno specifico dominio applicativo. Ci deve essere un Catalogo che permette di ritrovare facilmente i dati richiesti da un utente o un’applicazione consumer insieme alle informazioni che ne qualificano la proprietà e le caratteristiche e che ne elencano le modalità di accesso disponibili, in ottica “self-serve”.
Le competenze per gestire l’infrastruttura, per sviluppare le procedure ETL/ELT, implementare i micro-servizi di accesso ai dati (SQL, REST api, …) ed impostare le configurazioni di sicurezza sono in capo ad un unico team tecnologico, ‘agnostico’ rispetto ai vari domini, che supporta i team applicativi a realizzare velocemente i dati-prodotto di interesse. In questo modo è più semplice gestire la turnazione del personale interno ed esterno assegnato alle tecnologie, senza perdere alcuna competenza di dominio.
La soluzione cloud di NextInt per il data management
NextInt utilizza il metodo Data Mesh e i servizi AWS per realizzare l’architettura più adatta alle esigenze del cliente. In particolare, la caratteristica “fully managed” di molti servizi AWS permette di realizzare la separazione dei dati e degli ambienti computazionali dei diversi domini applicativi senza sforzo, garantendo massima flessibilità ed scalabilità.
Inoltre la caratteristiche “compute on-demand” e “storage on-demand” permettono di contenere i costi tipicamente legati all’infrastruttura e al personale per mantenerla, così come di accelerare i tempi di implementazione del progetto.
Infine, oltre alle tecnologie open source disponibili, NexInt utilizza i servizi AWS per realizzare lo stack tecnologico base in cloud:
- servizi di archiviazione: AWS S3, AWS RDS e Redshift
- servizio per l’integrazione dei dati con procedure ETL/ELT: AWS Glue
- Amazon Athena per interrogare i dati in modo interattivo tramite SQL
- servizio per la catalogazione dei dati: AWS Glue Data Catalog
- AWS Lake Formation per condividere i dati garantendo l’accesso in modo sicuro
Naturalmente, per esporre i risultati agli utenti, utilizziamo BStreams che, da una parte, ci permette di sviluppare rapidamente dashboard e report per la visualizzazione e l’analisi dei dati via web e dall’altra, grazie al Data Hub, lascia agli utenti aziendali piena autonomia nell’analizzare i dati finali.