La decentralizzazione è il cuore pulsante dei Big Data

Riflettendo su quali siano stati i passaggi tecnologici e non che hanno reso possibile il fenomeno  Big Data appare chiaro come la decentralizzazione sia la caratteristica che accomuna molti momenti importanti di questa evoluzione. Cerchiamo di fare un passo indietro andando a descrivere i passaggi più significativi e vedendo come, in questi, la decentralizzazione sia stato una chiave di successo.

P2P_Topology

L’inizio. Possiamo identificarlo nel 1991 con la definizione di Tim Berners-Lee del protocollo di comunicazione HTTP: questo momento sancisce la nascita del World Wide Web, che poggia anche sul protocollo di trasmissione TCP/IP, definito qualche anno prima nella realizzazione della rete Internet: l’insieme di reti pubbliche interconnesse su scala mondiale. La topologia della rete Internet e i sopra-citati protocolli di fatto rispondono alla logica di decentralizzazione massima tale da non rendere nessun nodo critico al funzionamento della rete e tale che anche i contenuti sulla rete siano distribuiti sui milioni di server tra loro connessi, in modo molte volte ridondato.

world-wide-web-341418_960_720

La prima crescita. La nascita e il grande sviluppo del Web fa comunque nascere servizi, e siamo a cavallo tra il vecchio e il nuovo millennio, quasi sempre free,  che raggiungono velocemente centinaia di milioni di utenti. Stiamo parlando di prodotti realizzati dalle più grandi aziende che dominano ancora oggi il web e cioè Google, Yahoo, Amazon e subito dopo  Facebook e Linkedin. La grandissima richiesta di computazione e di servizi real time mette in crisi l’approccio architetturale tradizionale, quello basato su database relazionali e su supercomputer posti in grandi datacenter proprietari. E anche in questo caso il paradigma della decentralizzazione viene in aiuto ispirando da un lato l’approccio computazionale distribuito alla base dell’ecosistema Hadoop e dall’altro il cloud computing che consente di distribuire i dati e le applicazioni su più datacenter, rendendo il tutto molto più robusto e resiliente in caso di criticità di singoli nodi o di una parte della rete stessa. E Hadoop e il Cloud, con la loro capacità di distribuire le elaborazione di dati e di conservarli in maniera efficiente, sono alla base ancora oggi del fenomeno Big Data.

hadoop-elephant-cloud

Per questo mi piace rappresentare il nostro mattoncino rosso (la parte tecnologica del nostro lego Big Data) costituito da molte componenti distribuite.

LegoRossoSpezzato

La crescita dirompente. Ma anche alla base della crescita dei dati è evidente l’importanza che ha avuto la decentralizzazione. Infatti nella seconda metà degli anni 2000 l’ondata “social” del web è stata possibile perchè si è passati da una generazione dei contenuti da parte di pochi (Web 1.0) alla generazione da parte di tutti (Web 2.0). Di fatto è stata decentralizzata la generazione di contenuti presenti nel web con una esplosione della numerosità dei dei dati disponibile on-line che è una delle direttrici in cui si è maggiormente sviluppato il fenomeno Big data, non a caso quella da cui ha preso il nome.

Web2.0

Per chi conosce i sistemi complessi tutto quello che ho scritto non apparirà assolutamente strano perchè nel mondo attuale diventato complesso nel suo pieno significato etimologico non è un caso che le topologie e i pattern che hanno il sopravvento sono quelli ad alto grado di  decentralizzazione e ridondanza.

La domanda che molti si pongono a questo punto è quale sarà il prossimo ambito dove la decentralizzazione manifesterà la sua forza creatrice . Forse si potrebbe scommettere sulla blockchain, cioè un archivio distribuito di transazioni applicabile in molti processi della vita reale. Finora è rimasta abbastanza ai margini di questa rivoluzione tecnologica in corso ma molte aziende e organizzazioni stanno pensando ad applicazioni concrete che possano migliorare la vita di tutti noi andando oltre alla attuale forma applicata più conosciuta: la moneta digitale  Bitcoin. Ma questa è un’altra storia che approfondiremo un po’ più avanti!

La decentralizzazione è il cuore pulsante dei Big Data

L’importanza degli algoritmi nel futuro della datascience

In uno dei post precedenti avevo evidenziato le 4 principali “forze” grazie alle quali si sta  sviluppando il fenomeno “big data” e cioè: la crescita della disponibilità dei dati, l’evoluzione della tecnologia di gestione dei dati, lo sviluppo e il miglioramento degli algoritmi e le nuove figure professionali, i datascientist, che sono i protagonisti umani di questa rivoluzione in corso. Oggi mi vorrei soffermare a considerare la diversa velocità di queste forze e cosa serve, probabilmente, in questo momento storico per uniformarle il più possibile, rendendo il tutto a maggior valore per gli utilizzatori.

CrescitaDati
Da un lato infatti abbiamo due forze: quella della crescita dei dati e della relativa  tecnologia che in maniera virtuosa si accelerano in maniera esponenziale. Negli ultimi 2 anni sono stati generati il 90% dei dati attualmente disponibili su scala planetaria e contestualmente tutta la filiera tecnologica legata ai dati, dalla memoria alla capacità elaborativa, è migliorata in qualità (robustezza e disponibilità) e diminuita in costo ($/byte e $/capacità computazionale) grazie al cloud e ai nuovi paradigmi di calcolo distribuito (per esempio l’ecosistema Hadoop).

A fronte di questo miglioramento non c’è stato una equivalente crescita in termini numerici di esperti di dati (sia datascientist che manager) e la capacità di utilizzo dei dati stessi non è cresciuta nelle linee di business e nei decisori delle organizzazioni.
Ancora in questi giorni è stato pubblicato un studio McKinsey molto importante sui fattori strategici che portano valore ai progetti “big data” nelle aziende dove si individua proprio nella capacità di “scalare” nei data-analytics skills il fattore più critico di successo. Ma la scarsità di competenze in questo settore è un trend mondiale su cui nessuno ha dubbi ed è anche misurato dalla grande crescita salariale di queste professioni negli ultimissimi anni.

PostAlgoritmo
Di conseguenza gli algoritmi, che si posizionano tra questi due poli (dati e tecnologia da un lato e fattore umano dall’altro) rivestono a mio parere un ruolo fondamentale per la capacità di semplificazione e sintesi che possono rivestire rendendo di valore reale e attuale quella grande massa di dati che oggi la tecnologia ci mette a disposizione. In aggiunta sono la componente che può mitigare la scarsità di persone capaci di analizzare i dati in azienda, accelerando e semplificando le analisi stesse e  democratizzandole di conseguenza.PostAlgoritmi6
Non è un caso che Evagelous Simoudis, uno dei più importanti investitori di lungo corso in Silicon Valley nel settore dei dati e degli analytics, qualche giorno fa in un popolare post uscito sul sito della O’Relley scrive a chiare lettere che “per sostenere il fenomeno big data e migliorare l’uso delle informazioni, abbiamo bisogno di applicazioni che velocemente ed in maniera poco costosa estraggano correlazioni associando le intuizioni ad azioni concrete di business”.
PostAlgortimi3
Del resto la stessa Gartner, nell’ultimo Symposium 2015 a Orlando, aveva evidenziato la prossima  evoluzione della “Data Economy” nella “Algorithmic Economy perchè non sono importanti i “big data” in sè ma quello che si riesce a fare con essi.

LegoVerdeAlgoritmi
Il nostro mattoncino “verde” è quindi fondamentale per riuscire a realizzare costruzioni “lego” big data sempre più grandi e utili: ne parleremo e lo analizzeremo in concreto in prossimi post.

 

 

L’importanza degli algoritmi nel futuro della datascience

Popper, Datascience & Lego: “Tutta la vita è risolvere problemi”

Ho sempre amato Popper, uno dei più importante filosofi della scienza, sia per il celebre principio di falsificabilità che è alla base della distinzione tra scienze e pseudoscienze, sia per la critica all’induzionismo estremo. Sintetizzando questo concetto egli sostiene che non basta osservare ma bisogna sapere cosa osservare. In questo senso la deduzione, che si nutre anche dell’osservazione non passiva della realtà, svolge un ruolo fondamentale nella creazione di teorie scientifiche e nella risoluzione di problemi. Questo processo è stato reso particolarmente evidente in due recenti e mediatiche scoperte scientifiche quali quelle del bosone di Higgs e delle onde gravitazionali, in cui la deduzione (fisica teorica) è stata confermata dalla induzione (fisica sperimentale) a distanza di molto tempo. E in questi processi di verifica induttiva la datascience ha avuto un’importanza fondamentale visto che tecnologia, algoritmi e specialisti di analisi dati la fanno ormai da padroni in questi grandi esperimenti. Anche nei processi deduttivi l’osservazione dei dati, soprattutto se guidata da una conoscenza del contesto e del problema che si vuole risolvere, porta un supporto importante nella realizzazione di quegli schemi mentali creativi necessari alla definizione di ogni teoria scientifica falsificabile.
Ma la citazione di Popper nel titolo del post fa riferimento anche ad un aspetto specifico e critico nell’utilizzo della datascience e in particolare alla domanda, che mi capita sempre meno spesso di sentire, su quale sia il punto di partenza di qualsiasi progetto relativo ai dati e in particolare quelli per i quali “sprechiamo” l’attributo Big Data.
Non ho alcun dubbio nell’indicare che sia fondamentale partire da un problema implicito o esplicito (chiarirò più avanti il concetto) degli stakeholder del progetto: il Cliente nei progetti di business o i Decision maker e la Comunità stessa in progetti non commerciali.

Sicuramente estremamente errato è partire dalla infrastruttura tecnologica. Cito a questo proposito un bellissimo post “Put data Science before Data Infrastructure” di  David Johnston, datascientist di Thoughworks che evidenzia come una qualità fondamentale per ogni analisi dei dati è sapere cosa osservare e perchè osservarlo.

DataScience1

Certamente molte tecnologie “Big Data”, cito l’ecosistema Hadoop per esempio, sono abilitanti ma non bisogna dimenticare che sono solo un mezzo, una condizione in alcuni casi necessaria ma mai sufficiente al buon risultato finale.

Talvolta è certamente possibile partire dai dati, soprattutto quando una vera domanda da parte degli stakeholder non esiste o meglio è implicita perchè questi ultimi non sono in grado di identificarne l’esistenza. Sicuramente la crescita esponenziale della disponibilità di dati può aumentare queste situazioni ma come punto di partenza diventa molto rischioso soprattutto in ottica business per gli investimenti correlati a questi progetti che possono non trovare un mercato. Questa è la via intrapresa da Linkedin nei suoi primi anni di vita quando, trovatosi grandissime moli di dati relativi a professionisti di tutto il mondo, ha lasciato che i datascientist interni realizzassero prodotti basati sui dati (soprattutto in ambito soluzioni per Human Resources) che il marketing tradizionale e i potenziali Clienti non riuscivano neppure ad immaginare. Certamente quando si riescono a creare prodotti (risolvere problemi) vincenti in questo modo l’oceano blu che si apre nel mercato è veramente importante. Ma sono poche le aziende che, per cultura e per organizzazione, riescono a sfruttare queste situazioni.

In altri casi è possibile partire dagli algoritmi per capire se è possibile far emergere dai dati (anche i “soliti dati”) delle situazioni (pattern) che possano rispondere a problemi impliciti o espliciti di Clienti o di Decision maker. In questo celebre post il datascientist Brandon Roher prova ad incrociare domande/problemi generici ad algoritmi più o meno innovativi nel campo del machine learning. Partendo proprio dagli algoritmi il deep learning ha fornito convincenti risposte a problemi ancora irrisolti, per esempio nel riconoscimento di cose e persone nelle immagini . Ma anche in questo caso la strada verso risultati concreti è molto ardua e riservata ad un numero ancora limitato di datascientist-driven companies.

In questo senso la visione popperiana di mettere al centro il problema, applicato alla datascience, è sicuramente vincente. Come scrive Popper ” .. il metodo consiste nel proporre tentativi di soluzione del nostro problema, e nell’eliminare le soluzioni false come erronee. Questo metodo presuppone che noi lavoriamo con un gran numero di tentativi di soluzioni. Una soluzione dopo l’altra viene messa a prova ed eliminata.” E oggi questo metodo, figlio del galieiano metodo sceintifico, applicato alla Datascience trova nella tecnologia NoSQL, negli algoritmi “big data” e nei datascientist  un forte abilitatore nonchè un grande acceleratore.

In questa evoluzione conoscere il contesto in cui si muove il progetto/problema e definirlo al meglio rimane la parte più difficile. Oggi più di ieri perchè  su questo aspetto che tocca problematiche organizzative, culturali e sociali non abbiamo (soprattutto in Italia) fatto gli stessi passi avanti che siamo riusciti a realizzare negli altri aspetti, ahimè solo abilitanti (tecnologia, algoritmi, dati ecc.).

Sulla base delle considerazioni sopra descritte mi piace descrivere il flusso che coinvolge qualunque progetto di datascience in maniera modulare quasi fosse una costruzione “lego”. Sotto riporto una immagine che esemplifica questi concetti
LegoDataScience

Cercherò di fare alcune considerazioni in futuri post di ciascuno di questi livelli, di come si possano spesso compenetrare (soprattutto quelli centrali), di come lo spessore (l’importanza) di ciascuno di questi sia variabile funzione del progetto .
Vedremo anche come, a sua volta, questo pattern (ovvero singolo progetto), possa combinarsi con altri perchè spesso i due strati superiori (i problemi risolti e i relativi dati) costituiscono la base per altri progetti/programmi  più complessi o più complicati.
Credo che sia importante aver “fissato” (anche visualmente) la centralità della definzione del problema all’interno di qualunque progetto di datascience e quindi nell’ideale diagramma di Conway da cui siamo partito nel precedente post mi sento di sottolineare più che mai l’importanza del cerchio inferiore, cioè della conoscenza del contesto a 360°: dai dati agli stakeholder per essere in grado veramente  di “risolvere problemi tutta la vita”.

Popper, Datascience & Lego: “Tutta la vita è risolvere problemi”