Elasticità, scalabilità e libertà di sviluppo sono tre elementi chiave che il mondo open source può portare alle applicazioni di analytics. Con un occhio al futuro.
Open source e analytics oggi sono evidentemente due dei termini chiave dell'IT aziendale. Da un lato, le tecnologie open source sono in generale
alla base della gran parte degli ambienti IT enterprise, che siano on-premise o a maggior ragione in cloud. Dall'altro, le funzioni di analytics sono considerate indispensabili per
migliorare i processi di una impresa in base alle informazioni che produce e raccoglie. E, meglio ancora, per svilupparne di nuovi. Meno evidente è quanto open source ed analytics stiano
intrecciando le loro linee di sviluppo, gradualmente portando all'analisi dei dati i benefici che l'open source ha già evidenziato in altri ambiti applicativi ed infrastrutturali.
La
sinergia tra open source ed analytics non è scontata quanto si potrebbe pensare, perché il comparto dell'analisi dei dati è storicamente fatto - dai lontani tempi della Business Intelligence - di soluzioni mirate e piuttosto chiuse.
Un approccio che aveva senso in passato, quando l'analisi approfondita dei dati era patrimonio di pochi e adottata per casi ben specifici. Oggi che il
mantra degli analytics viene recitato potenzialmente da qualsiasi impresa, si senta la necessità di approcci più aperti. Con un obiettivo principale: l'elasticità.
Uno degli elementi caratterizzanti nell'evoluzione del mondo analytics è infatti, prevedibilmente, che l'ampliarsi della platea delle aziende interessate
porta ad un analogo ampliamento nei casi d'uso. Si spazia ormai dall'analisi del business aziendale all'ottimizzazione delle supply chain, dalle applicazioni retail al mondo Internet of Things. Con in più la volontà delle imprese di analizzare rapidamente,
al limite in tempo reale, grandi moli di dati non strutturati.
La nuova eterogeneità degli analytics non si sposa benissimo con il concetto delle piattaforme monolitiche tradizionali. Tanto che in questi anni abbiamo visto lo sviluppo di piattaforme - ovviamente anche e sempre più in cloud - con molte funzioni verticali integrate. Come anche la
"scomposizione" del flusso degli analytics in servizi mirati (raccolta dati, pulizia, memorizzazione, analisi vera e propria) e specifiche che gli sviluppatori possono combinare a piacimento. Traguardando un modello in cui il generico workflow di analytics si scompone in molte singole funzioni, ciascuna delle quali
implementata in modo elastico e scalabile attraverso la
containerizzazione.
Il design della complessità
I vantaggi di un approccio del genere - spiega
Gianluca Giusti, Senior Data Architect di Infordata Analytics - si concretizzano a vari livelli, dal design infrastrutturale alla possibilità di replicare più semplicemente i componenti di un progetto in ambiti diversi, passando ovviamente per la
caratteristica elasticità degli ambienti a container. Infordata ha ad esempio realizzato un progetto IoT in cui una maglietta dotata di sensori biometrici trasmette dati in tempo reale verso un server centralizzato. In una logica a container, sottolinea Giusti, "
Non c'è da dimensionare preventivamente un server, preparare le macchine virtuali, configurare i cluster, predisporre i load balancer... Partiamo dalla containerizzazione della parte server, con poi la definizione delle regole in base alle quali attivare nuovi nodi per gestire un eventuale aumento del carico. Il che semplifica moltissimo lo sviluppo e la gestione dell'ambiente".
Una buona opera di
design preventivo permette poi di raggiungere risultati ulteriormente raffinati. "
Diventa molto opportuno - spiega Giusti -
disegnare l'applicazione dividendo i vari componenti in maniera intelligente, progettando blocchi che siano facilmente implementabili e immaginando ciò che può succedere al variare dei carichi. Così si arriva ad un ambiente capace di rispondere velocemente e la cui risposta è trasparente lato amministratore".
Un design preventivo che è comunque necessario - anzi, sempre più importante - man mano che una qualsiasi applicazione tradizionale si
scompone in moduli distinti che interagiscono fra loro. Una constatazione che vale quando l'infrastruttura IT è gestita direttamente ma
soprattutto quando è, del tutto o in parte, appoggiata a servizi cloud esterni. "
Gli ambienti cloud proprietari - spiega infatti Giusti -
sono ottimizzati in base a determinati profili d'uso, spesso puntando in particolare ad un generico equilibrio tra costi e benefici. Tutto però poi dipende dall'uso che se ne fa in uno specifico progetto, e per questo lo studio preventivo è fondamentale".
ImpresaCity, Red Hat e Infordata hanno realizzato un webinar dedicato alla convergenza tra open source ed analytics. Clicca qui per saperne di più.
Il tratto della "componibilità" delle nuove applicazioni sta peraltro diventando un elemento importante anche in campo analytics. Un esempio? "
Al momento - spiega Giusti -
la possibilità di usare facilmente i database non relazionali per immagazzinare grandi moli di dati non strutturati, che poi sono elaborati dalle componenti di analytics vere e proprie. Che si occupano anche di strutturare, pulire e normalizzare i dati". Una rivoluzione rispetto all'approccio tecnologico classico, in cui l'uso dei DB relazionali richiede di strutturare e pulire i dati
prima di inserirli nei database. Difficile farlo quando si parla ad esempio di real time o streaming analytics su grandissime moli di dati.
Serve una mappa
Se il panorama analytics sta cambiando sensibilmente, diventa importante avere davanti un possibile percorso di evoluzione tecnologica.
Red Hat ne ha definito uno, basato sulle tecnologie open source, che permette di passare dal modello tradizionale alla containerizzazione spinta. In particolare, disaccoppiando le componenti computing e storage, sempre in nome dell'elasticità e della capacità di gestire facilmente vari tipi di carico elaborativo.
In questo percorso,
Red Hat Enterprise Linux rappresenta la base fondamentale in quanto sistema operativo di classe enterprise che, combinato con Hadoop, permette di consolidare i carichi di lavoro di analisi dei dati, prima completamente distinti e separati, in
un insieme di cluster che condividono le risorse di storage e, quindi, anche i dati. Questo è il primo passo per una fluida "modernizzazione" degli analytics, seguito dal passaggio ad una architettura più cloud-oriented grazie alla combinazione con la
Red Hat OpenStack Platform e poi la transizione verso l'ambiente container Red Hat per eccellenza: la
OpenShift Container Platform.
Questa evoluzione - spiega
Giuseppe Magnotta, Associate Solution Architect di Red Hat - permette di arrivare ad un ambiente di analytics del tutto "fluido" rispetto all'IT sottostante, che può essere on-premise, in cloud oppure in una combinazione dei due approcci. L'elasticità applicativa viene abilitata dall'approccio a container. Lato dati
l'elemento trasversale resta Ceph, che disaccoppia il computing dallo storage. Questo non solo permette di usare hardware standard rispetto a sistemi di storage proprietari, soprattutto crea
un pool storage condiviso che gestisce dati eterogenei (blocchi, oggetti, filesystem) con le necessarie funzioni di protezione delle informazioni.
"
Ceph - spiega Magnotta -
affronta il problema della gestione massiva e scalabile di dati eterogenei, in particolare gestendo a livello software funzioni che per i vendor dello storage tradizionale sono legate ad hardware dedicato e quindi costoso. E che prima o poi impedisce di gestire lo spazio di memorizzazione in maniera davvero elastica": "un problema spesso affrontato quando si passa da un sistema di virtualizzazione classico a uno container-based, che ha esigenze di storage diverse", commenta Magnotta.
La combinazione RHEL-Ceph-OpenShift permette di creare in poco tempo cluster di elaborazione e l'infrastruttura di storage, per istanziare rapidamente lo stack applicativo e di middleware necessario agli analytics. E per chi vorrebbe
avere un ambiente analytics scalabile con un solo clic, la mappa di Red Hat comprende anche questo. Sarà il frutto di
Open Data Hub, un
meta-progetto che, spiega Magnotta, "raccoglie tutte le tecnologie oggi allo stato dell'arte per attivare, attraverso un cluster OpenShift, una pipeline completa di machine learning e data science".