La caratteristica di ambiente estremamente flessibile e astratto ha favorito il diffondersi della convinzione secondo cui il cloud risolva in modo quasi automatico qualsiasi problema legato alla compatibilità di applicazioni e dati, a prescindere dal singolo ambiente di sviluppo aziendale e soluzione adottata. In realtà tuttavia, questioni quali migrazione, portabilità e interoperabilità restano aspetti cruciali nei criteri di scelta, spesso sottovalutati, dei quali si è discusso nel contesto più esteso del primo Azure Open Day, evento interamente dedicato all’integrazione tra il cloud Microsoft e il mondo Open Source.
“Possiamo individuare due approcci distinti – spiega Fabio Santini, direttore developer experience and evangelism di Microsoft -. Un semplice spazio remoto per il proprio server, con poche differenze sostanziali rispetto alla situazione proprietaria, oppure pensare al cloud come piattaforma in grado di erogare servizi”. Dal punto di vista pratico, nel primo caso si guadagna in autonomia, a scapito però dell’innovazione, il vero vantaggio competitivo della nuova architettura. “Se la vedo come piattaforma per erogare nuovi servizi, emerge tutta l’innovazione, ma aumenta anche il pericolo del lock-in – prosegue Santini -. Se un’applicazione è costruita per un dato ambiente, nel momento in cui decido di trasferirla a un altro devo intervenire, anche in misura importante sul codice. Mentre se mi limito a esternalizzare il server, di fatto è poco più di un trasloco”.
Come prevedibile, l’ideale sarebbe riuscire a combinare le due cose: poter scegliere l’ambiente preferito per le proprie applicazioni senza doversi preoccupare di adattarsi a ogni potenziale cambiamento. “Il problema è sentito soprattutto in ambito Pmi – puntualizza Danilo Ardagna, professore del Politecnico di Milano -. Addirittura, è la seconda preoccupazione dopo la privacy, dal momento che le difficoltà nel trasferire applicazioni tra cloud possono avere pesanti ripercussioni sulla produttività”.
La soluzione arriva da un lavoro di gruppo al quale ha preso parte anche lo stesso ateneo milanese. “Se parliamo di IaaS, la questione non appare così grave – sottolinea Ardagna -, mentre si manifesta in tutta la sua importanza quando si parla di PaaS e SaaS, dove un’applicazione progettata per una piattaforma, raramente funziona su un’altra senza prevedere interventi di una certa importanza”.
L’obiettivo era realizzare una sorta di strato intermedio, in grado di liberare un’applicazione dai requisiti di una piattaforma specifica. Al momento, l’attenzione è rivolta soprattutto alle tre soluzioni più diffuse, oltre all’ambiente Microsoft, si cerca infatti la compatibilità con Amazon e Google. “In alternativa alle diverse proposte di standard finora proposte, come per esempio iCCI o Cloud Foundry – riprende Ardagna -, l’alternativa alla quale abbiamo lavorato è un livello di intermediazione dove un’applicazione sia in grado di utilizzare un’interfaccia standard che mascheri l’accesso ad Api specifiche del vendor attraverso un insieme di adattatori o driver”.
Il risultato è CPIM library, sviluppata nell’ambito del progetto europeo MODAClouds (http://www.modaclouds.eu). “A ogni applicazione viene associato un file di configurazione dove sono indicate le caratteristiche del cloud che si intende utilizzare, con le credenziali e una descrizione delle risorse – prosegue il Professore -. A questo punto, l’interfaccia standard lavora sugli adapter in base al file di configurazione, per collegare le applicazioni”.
In questo modo, si svincola di fatto l’applicazione dal singolo ambiente di esecuzione. Le caratteristiche del cloud sono infatti rimandate al file di configurazione, dove è sufficiente intervenire in caso di migrazione. “Abbiamo messo a punto anche le soluzioni specifiche per garantire la portabilità dei dati. Riusciamo a preservare le diverse policy di consistenza richieste da un database in modalità as a service”.
I primi risultati raggiunti in situazioni reali hanno confermato la validità della soluzione, i cui margini di miglioramento tuttavia non mancano. “Il sistema di migrazione permette il trasferimento di tutti i dati, ma l’applicazione deve essere spenta prima di avviare l’operazione – precisa Ardagna -. Stiamo lavorando per rendere possibile il trasferimento anche garantendo la piena operatività”.
Dal punto di vista del cliente, poter superare i limiti legati al di lock-in è una ragione in più in favore del cloud computing. Dal punto di vista del provider, significa invece accettare una sfida in più. “Ben venga una soluzione del genere, a condizione che pensare in anticipo una exit strategy non significhi mettere in preventivo un fallimento – conclude Santini -. In realtà, se invece di costruire un software per conto proprio, sfrutto i moduli offerti dalla piattaforma, il costo di rifare tutto è comunque di gran lunga inferiore a quello di doverlo adattare. Con questa opzione però, applico al meglio il paradigma del cloud di concentrami solo sulle funzionalità di un’applicazione, senza preoccuparmi di tutto ciò che si trova a monte”.