Snowflake-technologies-quantyca
Scopri

Overview

Open Data Mesh (ODM) è una piattaforma in grado di gestire l’intero ciclo di vita dei data product, dallo sviluppo, al deploy, fino al loro decommissioning. È stata progettata ed implementata da Quantyca per supportare i clienti nell’adozione di un paradigma basato sulla gestione del dato come un prodotto. La piattaforma è stata rilasciata in open source all’inizio del 2023.

ODM fa uso di una specifica (Data Product Descriptor Specification – DPDS) che viene utilizzata in combinazione con i servizi della Open Data Mesh Platform per creare, distribuire e gestire le istanze di data product in una architettura modulare e componibile.

Data Product Descriptor

Il Data Product Descriptor è un documento che descrive tutte le informazioni in ingresso a un data product, compresi il suo nome completo, l’owner, il dominio a cui appartiene, il suo numero di versione, le componenti dell’interfaccia e tutte le componenti interne. Viene utilizzato per condividere i metadati e le informazioni di un data product con tutti i consumatori all’interno della piattaforma.

Info Object

L’Info Object contiene informazioni generali riguardo al data product. Le informazioni possono essere usate dai consumatori all’interno della piattaforma quando necessario. Tra esse vi sono l’id del prodotto, il nome completo, la versione, una descrizione, il dominio a cui appartiene, l’owner, e i dati di contatto.

Interface Components

Le interfacce sono componenti esposti ai consumatori e sono raggruppate per ruolo funzionale in entità chiamate porte. Ogni porta espone un servizio o un insieme di servizi correlati. Questi sono i cinque tipi di porte supportati dal DPDS:

Input ports
Insieme di servizi di un data product che permettono di raccogliere i dati dalla sorgente e renderli disponibili per ulteriori trasformazioni interne.
Output ports
Insieme di servizi esposti da un prodotto dati per condividere i dati generati in modo sicuro ed affidabile.
Discoverability ports
Insieme di servizi che forniscono informazioni sul ruolo statico di un data product all’interno dell’architettura, come scopo, struttura, posizione, ecc.
Observability ports
Insieme di servizi che forniscono informazioni sul suo comportamento dinamico all’interno dell’architettura, come log, audit log, metriche, ecc.
Control ports
Insieme di servizi che permettono di configurare delle computational policy locali ed eseguire operazioni di governance privilegiate.

 

Internal Components

Sono tutti gli elementi di un data product che implementano i servizi esposti dalle porte, ad esempio pipeline, microservizi, ecc. Nel DPDS un componente applicativo è principalmente descritto attraverso modelli parametrizzati che definiscono formalmente come costruire e distribuire il componente stesso.

Sono tutti gli elementi di un data product relativi alle risorse infrastrutturali, come ad esempio risorse di calcolo e storage, utili per eseguire i componenti applicativi. Nel DPDS, un componente infrastrutturale è principalmente descritto attraverso un modello parametrizzato che definisce formalmente come effettuare il provisioning del componente infrastrutturale specifico.

Contiene informazioni cruciali riguardanti il ciclo di vita dei data product concentrandosi esclusivamente su attività di CI/CD, come il deployment in ambiente di sviluppo, il deployment in produzione, e il decommissioning. Tutte le operazioni necessarie per portare a termine tali attività sono delegate a strumenti di DevOps esterni.

La piattaforma

La Open Data Mesh Platform (ODMP) è l’implementazione open-source di una Data Developer Platform (DDP) che facilita la gestione end-to-end del ciclo di vita dei data product. L’alta versatilità della piattaforma consente agli utenti di utilizzarla as-is o di personalizzarla per soddisfare requisiti specifici. Tramite un’architettura modulare, ODMP sfrutta specifiche e protocolli open per migliorare l’interoperabilità con sistemi diversi: aderendo a standard consolidati, favorisce un ecosistema di strumenti che si integrano e si adattano ad esigenze in continua evoluzione.

 

ODMP semplifica le attività di DataOps, consentendo ai team di creare, validare, distribuire ed evolvere i loro prodotti in maniera self-service. La piattaforma si distingue per essere tecnologicamente agnostica, offrendo la flessibilità di integrare gli strumenti preferiti dagli utenti tramite adapter in modalità plug-and-play.

L’immagine seguente mostra l’architettura della Platform.

 

L’architettura è composta da due piani che riflettono quelli proposti dalla teoria Data Mesh:

• Product Plane: è l’implementazione in ODM del Data Product Experience Plane, che aiuta nella creazione e nel consumo dei data product così come nella gestione del loro ciclo di vita.

• Utility Plane: è l’implementazione in ODM del Data Infrastructure (Utility) Plane, che mira a separare la gestione dei data product dall’infrastruttura fisica sottostante.

Come si può notare, i principali moduli della piattaforma ODM sono indipendenti dalla tecnologia: i data product vengono creati e gestiti tramite il Product Plane in modo indipendente dall’infrastruttura fisica sottostante, la quale è separata dallo Utility Plane e dagli Adapter.

Product Plane

Il Product Plane espone i microservizi principali della Piattaforma ODM. Ogni microservizio offre un insieme di API per gestire le fasi del ciclo di vita dei data product:

Blueprint
Gestisce l'avvio e l'inizializzazione di un data product sfruttando una profonda integrazione con i servizi Git.
Registry
Registra un nuovo data product con un identificatore univoco e una versione all’interno del mesh, rendendolo visibile ai processi di governance.
Policy
Gestisce i servizi per applicare ed eseguire le policy computazionali su ogni data product.
DevOps
Gestisce l'intero ciclo di vita del data product (es., sviluppo, test, distribuzione, dismissione).
Notification
Gestisce i listener e invia loro notifiche quando occorrono specifici eventi.
Params
È un microservizio personalizzato che aiuta a gestire parametri e variabili comuni all'interno dell'intera piattaforma.

Utility Plane

Lo Utility Plane espone un insieme di servizi utili per la funzionalità del mesh al fine di disaccoppiare l’infrastruttura sottostante, come:

Executors
Agiscono come intermediari tra la piattaforma mesh e specifici strumenti di DevOps.
Observers
Raccolgono e reagiscono agli eventi che si verificano nella piattaforma.
Validators
Sono servizi dedicati alla valutazione e all’esecuzione delle policy computazionali.

Ogni microservizio espone un’interfaccia che richiede un’implementazione reale. Lo scopo è fornire un punto di partenza e una struttura di base per la realizzazione dei servizi specifici. Qualsiasi implementazione dei servizi dello Utility Plane è chiamata Adapter.

Adapter

Un Adapter è un’implementazione specifica della tecnologia dei servizi dello Utility Plane: rappresenta a tutti gli effetti il componente che disaccoppia la piattaforma mesh dall’infrastruttura reale. Gli utenti ODM possono collegare gli adapter necessari per lavorare con l’infrastruttura sottostante tramite configurazioni applicative.

La Piattaforma ODM offre un’implementazione dei seguenti Adapter:

Azure DevOps Executor
Un executor in grado di integrarsi con le API di Azure DevOps per creare, testare, e distribuire i data product.
Blindata Observer
Un observer che inoltra le notifiche a Blindata in risposta agli eventi.
OPA Validator
Un'implementazione specifica di un validator che utilizza Open Policy Agent come motore per validare policy computazionali.

Use Cases

Risorse

Link
Free
19/04/2024

Open Data Mesh Initiative

Link
Free
19/04/2024

Open Data Mesh Platform

Link
Free
19/04/2024

Data Product Descriptor Specification

Link
Free
19/04/2024

Open Data Mesh Initiative – GitHub

Contattaci!

Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Entra a far parte del team Quantyca, facciamo squadra!

Siamo sempre alla ricerca di persone di talento da inserire nel team, scopri tutte le nostre posizioni aperte.

VEDI TUTTE LE POSIZIONI APERTE