Nell’epoca dei Big Data ci troviamo quotidianamente ad affiancare le aziende nella definizione di strategie data driven e ad aiutarle a diventare o a mantenersi competitive nei mercati di riferimento. I dati in questo senso rappresentano un aspetto centrale ed anche uno dei più critici in relazione alle architetture di archiviazione: esse infatti devono essere in grado di garantire la gestione di moli di dati sempre crescenti con il giusto livello di democratizzazione e di efficienza. Purtroppo nonostante le best practice suggerite per l’evoluzione digitale, sono ancora molte le aziende che rimangono ancorate a vecchi standard architetturali, nonostante stiano diventando sempre più obsoleti

Molte aziende per ovviare questo problema hanno iniziato a muoversi verso l’implementazione di Data Warehouse e di Data Lake, strutture che grazie alle loro caratteristiche riescono a garantire in tempo reale la disponibilità e le capacità di elaborazione e trasformazione dei dati. Tuttavia sempre più spesso, neppure queste scelte architetturali sono sufficienti poiché non riescono ad aderire ai livelli richiesti di data democratization ed efficienza. Ciò ha fatto emergere nuovi approcci architetturali ispirati al Domain Driven Design di Eric Evans, che, a quasi vent’anni dalla prima pubblicazione, sta oggi trasformando il modo di concepire lo sviluppo software dando ai “domini” la giusta rilevanza fino alla definizione, negli ultimi anni, di un’architettura moderna: il Data Mesh

Cos’è il Data Mesh? 

Data Mesh è un concetto relativamente nuovo ed è diventato in brevissimo tempo una delle tendenze in più rapida crescita degli ultimi anni. Si propone come l’estensione del cambio di paradigma introdotto dalle architetture di micro-servizi applicato alle architetture dati, consentendo analisi agili e scalabili, e l’accesso agevole al Machine Learning e all’Intelligenza Artificiale. 

Immagine promozionale per il whitepaper su Data Driven

Il Data Mesh è in sostanza l’alternativa moderna al modello organizzativo e architetturale del data lake con un’architettura distribuita e decentralizzata, quella appunto del Data Mesh, progettata per supportare le imprese nel processo per accrescere la loro agilità e scalabilità aziendale, ridurre il time-to-market e diminuire i costi di manutenzione consentendo così anche un’allocazione dei costi interni più equa e trasparente.  

Il Data Mesh è quindi un vero e proprio approccio decentralizzato alla Data Platform, una nuova idea architetturale che permette ad ogni dominio (Business Domain) di avere un proprio storage e modalità per la gestione di dati e processi dedicati.  

Il Data Mesh come cambio architetturale si basa su 4 concetti chiave: 

  • Proprietà, architettura e ownership dei dati decentralizzate ed orientate al dominio, sono quindi creati team ad hoc composti da data engineer e ruoli dedicati modellati per i domini specifici. L’ownership decentralizzata non rende ogni team sganciato dagli altri, ma implica comunque la necessità di una strategia comune per definire in modo uniforme gli strumenti e l’architettura; 
  • I dati come prodotto. Ogni dominio è un produttore di dati e proprietario e gestore di essi, sia da un punto di vista funzionale al business, sia da un punto di vista tecnico/tecnologico. In questo modo ogni dominio può muoversi alla propria velocità, con la tecnologia più adatta e fornendo in tempi ragionevoli risultati utili a qualsiasi potenziale data consumer; 
  • Infrastruttura dati self-service come piattaforma ad ogni livello aziendale, dai business user fino ai team di sviluppo software. Il Data Mesh favorisce la scoperta e l’utilizzo di data product da altri domini attraverso servizi ad-hoc; 
  • Data Governance computazionale federata per gestire al meglio la standardizzazione, monitorare gli sviluppi e fornire elevati controllo e flessibilità all’interno dei diversi domini. Il Data Mesh arricchisce l’approccio di Data Governance federata, in cui i dati sono gestiti dagli utenti per gli utenti. 

Come funziona un data mesh? 

Un Data Mesh implica un radicato cambiamento culturale, soprattutto nel modo in cui le aziende si rivolgono ai loro dati e li usano: i dati non sono più visti come “sottoprodotti” dei processi, ma assumono una loro dignità e diventano loro il vero prodotto. 

Nelle architetture tradizionali sono i gestori dell’infrastruttura ad avere la proprietà dei dati, nel Data Mesh invece l’accento viene posto su un nuovo modo di pensare al dato visto come un prodotto, quindi la proprietà dei dati si sposta sui loro produttori in quanto esperti in materia. Le loro competenze infatti permettono anche di comprendere al meglio quelli che saranno gli utilizzatori dei dati e come essi useranno i dati operativi e analitici del dominio. In questo modo si è anche in condizioni di progettare le API adatte al contesto ed effettivamente utili. 

Questa progettazione implica nuove responsabilità per i produttori dei dati, diventano infatti responsabili delle definizioni semantiche, della catalogazione dei metadati e dell’impostazione delle politiche per le autorizzazioni e l’utilizzo. Se da un lato ciò può spaventare, non dobbiamo però dimenticare che è prevista la presenza di un cross-team per gestire la data governance centralizzata che garantisce l’applicazione degli standard, oltre ad un cross-team di data engineering centralizzato. 

Il data mesh utilizza i domini funzionali come un modo per gestire ed organizzare i dati, consentendo così di poterli trattare davvero come un “prodotto aziendale” a cui gli utenti dell’intera organizzazione possono accedere nei termini a loro consentiti. Si tratta di un meccanismo simile a ciò che accade nelle architetture a micro-servizi in cui servizi leggeri sono tra loro associati per fornire funzionalità complesse alle applicazioni aziendali. 

In questo modo il data mesh consente un’integrazione dei dati più flessibile, in cui i dati prodotti e gestiti dai diversi domini possono essere immediatamente utilizzati da tutti gli utenti per le loro attività aziendali, siano esse business analytics o per le sperimentazioni di Data Science

Difficoltà implementative e vantaggi del Data Mesh 

Il Data Mesh offre alle aziende una soluzione che permette un approccio sistematico e definisce una ownership chiara incaricando i vari team delle rispettive responsabilità. 

In alcuni casi il Data Mesh può diventare il punto di partenza per l’accelerazione dei processi di innovazione aiutando a velocizzarli ed evitando le insidie legate alla creazione di grandi monoliti. In altri casi il Data Mesh ha supportato migrazioni a partire da architetture on-premise verso soluzioni cloud. 

Come succede per ogni innovazione, anche il percorso verso l’adozione del Data Mesh non è privo di ostacoli e a volte, nonostante gli innumerevoli vantaggi che offre, si percepisce la sensazione che la tecnologia invece di aumentare la produttività, renda il nostro lavoro più difficile e più complesso. Ciò accade, ad esempio, quando viene implementata, con regole troppo rigide o con logiche che non seguono le necessità dell’utente. Questo non vuol dire che il Data Mesh debba essere abbandonato sul nascere, ma solo che deve essere impostato in modo adatto al contesto per poter vedere dei vantaggi. 

Parlando dei vantaggi ottenibili col Data Mesh possiamo riassumerli in alcuni aspetti principali: 

  • Migliore democratizzazione dei dati: le architetture data mesh facilitano le applicazioni self-service da più fonti di dati ampliandone l’accesso: non più solo figure tecniche come i data scientist, data engineer e sviluppatori, ma anche gli utenti più vicini al business possono avere accesso ai dati. In questo modo si riducono i silos di dati e i colli di bottiglia operativi permettendo da un lato agli utenti business di avviare un processo decisionale più consapevole e rapido, dall’altro consentendo agli utenti tecnici di dare la priorità alle attività che necessitano in modo più stringente delle loro competenze. 
  • Diminuzione dei costi: il Data Mesh si allontana dall’elaborazione dei dati in batch a vantaggio dell’adozione di piattaforme cloud e pipeline di streaming per raccogliere i dati in realtime. L’uso del cloud offre un grande vantaggio in termini di costi grazie al modello di pagamenti pay-par-use, ovvero pagando solo per spazio e risorse realmente usati. Ciò significa un aumento nella trasparenza dei costi di storage, quindi una migliore allocazione di budget e risorse. 
  • Sicurezza e conformità: come già accennato, il data mesh promuove una data governance solida attraverso quel cross-team che ha il compito di applicare gli standard e gestire l’accesso ai dati sensibili. Ciò garantisce che le aziende rispettino le normative vigenti. I dati di log garantiscono l’osservabilità del sistema, permettendo ai revisori di avere piena visione di quali utenti vedono quali dati.  
  • Maggiore interoperabilità: i proprietari dei dati concordano in anticipo la modalità di standardizzazione delle informazioni indipendenti dal dominio, e ciò facilita l’interoperabilità: quando un team di dominio struttura il suo dataset si troverà ad applicare le regole selezionate per consentire il collegamento dei dati tra i domini in modo rapido e facile. Questa coerenza tra domini consente agli utilizzatori dei dati di interfacciarsi in modo semplice ad essi attraverso le API e poter sviluppare applicazioni per soddisfare le loro esigenze di business in modo più appropriato. 

Ciò che è importante tenere a mente è che un’architettura Data Mesh ben fatta richiede che in azienda avvenga un profondo cambiamento culturale ed organizzativo, un cambio di mentalità che porti l’intera azienda a considerare i dati come un prodotto liberandosi così dai colli di bottiglia e dai limiti legati all’uso di un Data Lake, e raccogliendo i benefici di un’architettura distribuita. 

Per questo motivo creare un Data Mesh è un’impresa importante. Non si tratta infatti soltanto di “avere” in azienda i dati, ma è necessario un cambio di mindset per riuscire a sfruttarli al meglio altrimenti non sarà possibile trarne alcun beneficio ed in questo un’architettura Data Mesh sicuramente rappresenta un punto di svolta. 

ARGOMENTI CORRELATI
Categoria: ANALYTICS
Concept per far capire le potenzialità dei Big Data Analytics: esempi di cruscotti che restituiscono informazioni utili

Big Data Analytics: cos’è e perché è importante

Quando si parla di big data analytics ci si riferisce, solitamente, all’analisi avanzata di grandi volumi di dati. Prendere decisioni… Leggi tutto

Concept per far capire il significato del Data Management: uomo che attraverso degli ingranaggi mette in ordine dei flussi intrecciati e caotici

Data Management: cos’è e perché è necessario in azienda

Oggi più che mai i dati digitali rappresentano un vero e proprio asset, un capitale, un importante fattore economico per… Leggi tutto

Colleghi che discutono di fronte al monitor di un pc. Sullo sfondo altri colleghi che parlano

Data lake vs data warehouse: le differenze e quale scegliere

Nell’era del digitale le organizzazioni collezionano dati provenienti da varie sorgenti, con una quantità ed una varietà che vanno ben… Leggi tutto