Perchè le API sono necessarie in un mondo “big data” che cerca di decentralizzarsi

Come avevo scritto qualche settimana fa  la decentralizzazione è il cuore pulsante dei big data o meglio di quel fenomeno che a partire dagli anni ’90 attraverso la nascita del web ha accelerato la creazione di quello che in un eccellente libro , Stefano Quintarelli ha definito il nostro “futuro immateriale”.
Quasi quattro anni (Agosto 2012) sono passati da quando Forbes in un celebre articolo dal titolo “Welcome to the API economy” annunciava la sempre più forte centralità di questo paradigma che si stava affermando  non solo dal punto di vista tecnologico ma anche da quello economico, culturale e sociale.

Api
Ma partiamo dalla definizione di Wikipedia che descrive le API come un “insieme di procedure disponibili al programmatore, di solito raggruppate a formare un set di strumenti specifici per l’espletamento di un determinato compito all’interno di un certo programma”: nulla di nuovo rispetto a quello che succedeva anche qualche decennio fa in campo informatico. Ma quello che è cambiato negli ultimi 15 anni e che ne ha fatto crescere l’importanza in maniera progressiva sono stati queste “piccole” evoluzioni tecnologiche:
l’utilizzo del procollo http che ha portato le api a poter sfruttare la rete per interconnettere applicazioni e sistemi distribuiti sulla rete internet (Web service)
l’evoluzione del fenomeno mobile che ha moltiplicato i sistemi distribuiti in rete (smartphone e ora anche Internet of Things) che necessitano di scambiarsi dati in modo resiliente e veloce. Da qui l’evoluzione delle API verso il paradigma REST e dal formato XML a quello Json, più leggero e meglio gestibile dalle applicazioni.
la crescita enorme di dati generati e quindi disponibili (fenomeno Big data) che ha reso fortemente economico gestire il relativo scambio senza flussi massivi ma con veloci e leggere interfacce e transazioni quando gli utenti (uomini o macchine) ne hanno bisogno e questi sono disponibili in qualunque server in giro per il mondo.

APIFramework

Questa evoluzione tecnologica delle API ha facilitato da una lato il superamento di una serie di problematiche funzionali e di business e dall’altro ha consentito di creare nuovi mercati dove nel giro di poco tempo aziende da piccole start-up si sono trasformate in colossi economici mondiali. Di seguito proviamo ad elencare i 7 principali benefici e casi d’uso che afferiscono al paradigma della API economy:

1) Sicuramente la monetizzazione di asset strategici e immateriali quali dati, informazioni e algoritmi ha avuto dalla diffusione di uso delle API un’accelerazione enorme. Questo ha portato dall’inizio degli anni 2000 alla creazione di aziende che hanno fondato una parte considerevole del loro business su questo tipologia di transazioni. E’ il caso per esempio di Twitter che ha in questo tipo di business una delle componenti più importanti del suo fatturato. Ma anche Google e Facebook hanno ulteriormente accelerato in questa direzione recentemente creando prodotti sulla base di algoritmi creati per realizzare prodotti per i propri clienti: il caso del recente lancio delle Vision Api di Google ne è un caso emblematico. Ma anche aziende più tradizionali, che non nascono con il Web, come il New York Times stanno spingendo molto nel creare piattaforme API che facilitino l’integrazione e l’uso dei propri asset. Data e information provider in giro per il mondo traggono ovviamente grossi benefici da questa evoluzione tecnologica che facilita la diffusione dei propri asset in maniera liquida: il portale API di Dun & Bradstreet ne è un ottimo esempio perchè evidenzia la capacità di integrare in un marketplace anche dati esterni (di altri data-provider) concretizzando quello che mi piace definire come il “dato aumentato”.

2) La distribuzione e conseguente decentralizzazione che il paradigma API ha portato è stato sicuramente abilitante alla sempre più forte diffusione del Cloud nelle sue diverse forme comprese quella ibrida. Poter integrare facilmente diverse API nelle proprie soluzioni permette di cogliere tutti i benefici di scalabilità del Cloud quando per specifiche API si evidenza necessità di performance molto variabili nel tempo. Sulla facilità di integrazione proprio delle API, semplificando la complessità architetturale sottostante, ha creato la sua posizione dominante la soluzione cloud di Amazon che ha non a caso il nome Amazon Web Services. Bluemix di IBM è un altro esempio dove API Economy e Cloud si fondono per dar vita ad un tentativo di facilitare l’innovazione facendo incontrare in maniera virtuosa domanda e offerta.

3) La capacità di integrare API di terze parti costruendo un’esperienza di valore per segmenti di utenti/mercati è un’altra tendenza abilitata dalla API economy. Molte aziende stanno creando o espandendo i propri business sfruttando questo paradigma. Forse il caso più recente ed ecclatante è quello di Slack, una piattaforma di team collaboration orientata al mondo tech, che ha fatto dell’integrazione con altri servizi  e con la possibilità addirittura di crearli ex-novo la forse primaria ragione di successo portandolo ad una diffusione veloce  (2.7 milioni di uenti attivi al giorno, inclusi 800.000 utenti a pagamento) e di conseguenza ad una valutazione elevatissima di circa 3,8 miliardi di dollari. Ma anche Uber ha per esempio aperto una piattaforma API per consentire a terze parti di sfruttare la sua flotta per le consegne, un uso creativo e innovativo del proprio asset immateriale.

4) L’utilizzo di framework API anche all’interno di organizzazioni strutturate e dove il tempo ha costruito, soprattutto a livello dati, silos molto difficili da superare è una altra direzione di applicazione molto interessante. Nei casi in cui non è necessaria una integrazione diretta a livello di sistema di persistenza del dato le API consentono di far dialogare diversi sistemi dipartimentali evitando costosi progetti di integrazione rendendo tra l’altro possibile la reingegnerizzazione di sistemi legacy per fasi successive. SalesForce ha creato una straordinaria storia di successo sulla base del superamento attarverso la propria applicazioni di silos dati aziendali che confluiscono nella sua soluzione automatizzando tutta la parte di gestione delle reti commerciali. E lo ha fatto integrando nella sua piattaforma, spesso via API,  dati sia dai silos aziendali sia da servizi di altri fornitori.

5) Il fenomeno OpenData trova nella forma di utilizzo via API la forma migliore per garantire l’utilizzo del dato in real time (non fattibile utilizzando forme batch come i file csv) e per l’interoperabilità in applicazioni di facile uso da parte degli utenti, come più volte evidenziato da Alfonso Fuggetta. In area anglosassone i portali api sono ormai ampiamenti diffusi nelle pubbliche amministrazioni sia locali che nazionali. Ne sono uno splendido esempio quello della città e dello stato di New York. Anche in Italia qualcosa si sta muovendo a traino dei casi più interessanti come quello dei dati relativi ai fondi strutturali erogati dalla Unione Europea ed esposti dal sito  Open Coesione.

6) Per favorire uno sviluppo di applicazioni in modo agile, incrementale e modulare le API sono un ottimo strumento che consente di definire in itinere il Minimum Viable Product (MVP) permettendo di integrare nelle applicazione i servizi più a valore e testando con i Clienti direttamente sul campo il loro utilizzo. L’integrazione di API rest oltre a disaccoppiare i sistemi consente una modalità più semplice di gestire l’interattività tra team diversi di sviluppo magari localizzati in aree diverse del globo. Le API sono un facilitatore del paradigma agile consentendo un time to market più veloce al business.

7) Si stanno anche creando anche marketplace specifici, con propri modeli di business, che aggregano API di terze parte consentendo a sviluppatori, accedendo ad un solo ambiente di trovare diverse soluzioni per differenti problemi. Oltre al caso già citato di Bluemix un esempio eccellente di origine italiana ma trapiantato in Silicon Valley è quello di Mashape che oltre ad offrire l’infrastruttura per pubblicare API private (come per esempio anche Apigee) fornisce anche un “mercato” dove si possono pubblicare API per vendita diretta di dati e servizi. Ad oggi ce ne sono più di 1350 pubblicate in questa forma

Insomma i motivi per entrare nella API economy sono tanti: l’interoperabilità tra sistemi, aziende e team di sviluppo è sicuramente il più importante ma non è facile  trarne beneficio perchè non è solo una questione tecnologica ma di cultura e di visione di business. Insomma come recita un famoso aforisma di W.Gibson “il futuro è già qui, solo che non è distribuito in maniera uniforme”.

 

 

Annunci
Perchè le API sono necessarie in un mondo “big data” che cerca di decentralizzarsi

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