Mike Ferguson

Maggio 2019

Dai silos a un ecosistema analitico integrato. Un approccio per avere dati da usare su più sistemi

Come semplificare l’architettura dei dati introducendo agilità, favorendo l’integrazione tra i silos e adottando un approccio comune per la gestione e la governance dei dati

Più o meno nell’arco degli ultimi cinque anni, molte aziende hanno superato il tradizionale data warehouse per esplorare nuovi tipi di carichi di lavoro analitici, come per esempio l’analisi esplorativa sui dati non strutturati, l’elaborazione del linguaggio naturale, l’analisi dei flussi, l’analisi dei grafi e il deep learning. In generale, questi tipi di carichi di lavoro sono stati costruiti su diversi tipi di sistemi analitici ottimizzati per specifici tipi di analisi. Sebbene ciascuna di queste iniziative abbia avuto successo, il problema che si è verificato è che lo sviluppo su ciascun sistema analitico specifico del carico di lavoro ha portato a silos analitici, dove ogni silos utilizza un approccio diverso all’elaborazione dei dati e allo sviluppo analitico. Per esempio, l’elaborazione e lo sviluppo di dati analitici su una piattaforma come Hadoop viene effettuata in modo diverso rispetto all’elaborazione dei dati su una piattaforma di analisi di streaming o su un database grafico NoSQL. Inoltre, tutte le fasi di elaborazione e sviluppo in ciascuno di questi silos sono diverse da ciò che è accaduto nel data warehousing tradizionale. È quasi come se l’architettura dei dati sia influenzata dalla piattaforma analitica in uso. Sono molte le domande che possono essere poste. Per esempio, è possibile adottare un approccio più comune alla produzione di dati da utilizzare in più sistemi analitici specifici? La gestione dei dati può essere semplificata in modo che i dati vengano preparati una volta e riutilizzati ovunque? L’approccio allo sviluppo dell’analisi può essere fatto utilizzando una piattaforma comune estensibile che ospita più librerie e tipi di analisi (per esempio, Scikit Learn, Apache Spark, Tensorflow, H2O…) e allo stesso tempo supportare lo sviluppo di R e Python tramite RStudio e Jupyter rispettivamente? Per rispondere a queste domande, bisogna considerare cosa è possibile fare per iniziare a semplificare l’architettura dei dati introducendo agilità e guidando l’integrazione tra i silos. Sono molte le cose che si possono fare: la prima è adottare un approccio collaborativo comune alla gestione e alla governance dei dati. Questo comporta adottare un approccio in 7 step per contribuire in modo significativo ad accelerare la preparazione dei dati, consentire la governance dei dati e migliorare la produttività attraverso il riutilizzo anziché la reinvenzione.

Step numero 1 – Stabilire in modo incrementale un vocabolario di business comune per tutte le entità di dati logici attendibili (per es. prodotto, cliente, ordini, etc.) e per gli insights che si intende condividere. Lo scopo è quello di garantire che il significato di dati ampiamente condivisi sia documentato.

Step numero 2 – Razionalizzare i singoli strumenti di gestione dei dati mostrati in ciascuno dei silos e utilizzare un comune software di data fabric con un catalogo di dati aziendali di accompagnamento. Tra gli esempi di software di data fabric vi sono: Talend Data Fabric, Google Cask Data Application Platform, IBM Cloud Private for Data e Informatica Intelligent Data Platform. Nella maggior parte dei casi, il catalogo dei dati aziendali è incluso come parte del software del data fabric, sebbene alcuni fornitori possano offrirlo come prodotto acquistabile separatamente.

Step numero 3 – Se si acquista software di data fabric con un catalogo di dati aziendali di accompagnamento, dovrebbe essere possibile connettersi alle fonti dati sia in locale sia nel cloud e creare così un data lake logico. Da lì si può iniziare a creare e mettere in atto un programma per produrre dati attendibili e comunemente compresi che vengono governati.

Step numero 4 – Utilizzare il catalogo di dati aziendali per scoprire, catalogare e mappare automaticamente i dati scoperti nel proprio vocabolario comune contenuto in un glossario aziendale all’interno del catalogo.

Step numero 5 – Organizzarsi per diventare un’azienda data driven. Ciò può essere fatto considerando i dati come una risorsa e consentendo ai produttori di informazioni sia dell’IT sia del Business di lavorare insieme nello stesso team di progetto che prepara e integra i dati utilizzando il software data fabric. Lo scopo di questi progetti è di produrre “prodotti di dati” affidabili, comunemente compresi e riutilizzabili. Per esempio i dati dei clienti degli ordini, dei prodotti, ecc.

Step numero 6 – Creare una supply chain delle informazioni all’interno dell’azienda. Si tratta di una “linea di produzione” in cui i team di produttori di informazioni (Business e IT) prendono i dati grezzi da un data lake logico e creano dati pronti all’uso da riutilizzare in tutta l’azienda.

Step numero 7 – Pubblicare i prodotti di dati già pronti in un marketplace di dati aziendali, ovvero un catalogo di dati contenente dati attendibili, per le informazioni che i consumatori possono trovare e utilizzare.

Una piattaforma analitica comune – La seconda cosa importante che si può fare è stabilire un approccio collaborativo per lo sviluppo di modelli di machine learning utilizzando una piattaforma analitica comune, indipendentemente da dove verranno distribuiti i modelli. Uno dei maggiori problemi nella data science di oggi è il fatto che è emersa una situazione di “selvaggio west” in cui ogni team di data science nell’area del Business adotta un proprio approccio allo sviluppo del modello, scegliendo qualunque strumento senza considerare lo sviluppo del modello e la gestione del modello da una prospettiva aziendale. Inoltre, molte aziende non riescono a implementare alcun modello. Il risultato è una “industria familiare” di molte diverse tecnologie utilizzate per la stessa cosa, in cui le competenze si diffondono in modo troppo impalpabile su tutti questi strumenti: un incubo di manutenzione e di non-riutilizzo. Per far fronte a questo, un’opzione che molte aziende stanno considerando è quella di investire in un ambiente di sviluppo integrato estensibile per gli analytics. Ma cosa si intende esattamente con questo? Serve un software di data science che permetta di portare il proprio codice (R, Python, Scala), che si integri con RStudio e Jupyter, e anche con Github, che permetta di aggiungere librerie analitiche come Tensorflow, Spark MLlib, H2O e così via, e che supporti anche le pipeline per lo sviluppo drag and drop invece del coding. Si tratta di strumenti come Amazon SageMaker, Cloudera Data Science Workbench, IBM Watson Studio, Tibco Statistica, e simili. Inoltre, gli strumenti di automazione del machine learning come DataRobot, H2O Driverless AI, SAS Factory Miner, etc., vengono presi in considerazione per accelerare lo sviluppo di modelli.

Verso un ecosistema analitico integrato – Serve anche la possibilità di implementare modelli ovunque. Quindi, per esempio, nel caso di frodi, potrebbero essere necessari diversi tipi di analisi, tra cui analisi di streaming in tempo reale per bloccare transazioni fraudolente al volo, analisi batch per visualizzare attività fraudolente e analisi dei grafi per identificare gli schemi di frode. Il punto è che dovrebbe essere possibile trovare i dati tramite il catalogo (comprese le risorse di dati attendibili già pronti), sviluppare tutte queste analisi da una piattaforma comune, distribuire tutti i modelli costruiti negli ambienti in cui devono essere eseguiti, gestire le versioni del modello, monitorare l’accuratezza del modello e prevedere il re-training e la re-implementazione, se la precisione scende al di sotto delle soglie definite dall’utente. In particolare, semplificare l’implementazione dei modelli è estremamente necessario in molte aziende, poiché i progetti di analytics sembrano bloccarsi proprio nella fase di deployment. Oltre alla gestione e all’integrazione di più silos analitici, anche molti data warehouse tradizionali devono essere modernizzati come parte del processo di creazione di un ecosistema analitico integrato. L’adozione di tecniche di modellazione agile dei dati agili come Data Vault, l’offload dell’elaborazione ETL nel data lake, la migrazione del data warehouse al cloud, i data mart virtuali e un data warehouse logico fanno tutti parte di un programma di modernizzazione.