Le multi-API di DeltaCloud
Tra Amazon Web Services, OpenStack, CloudStack e VMware gli sviluppatori non hanno che l'imbarazzo della scelta tra le IaaS di supporto da scegliere, ed anche le API per approcciarle abbondano. DeltaCloud che è ora diventato progetto top-level di Apache, è progettato per aiutare gli sviluppatori a superare la complessità ed il lavoro con tutte le piattaforme, da EC2 a Red Hat Enterprise Virtualization Manager (RHEV-M).
DeltaCloud lavora con 11 differenti API e cinque differenti API storage che includono S3, Eucalyptus Walrus e Google Storage. La versione 0.5 ha anche il supporto sperimentale per il Distributed Management Task Force (DMTF) Cloud Infrastructure Management Interface (CIMI).
Cosa fa DeltaCloud?
E' un server che accetta uno standard REST API per creare nuove istanze sui nodi di calcolo, per riavviare le istanze, per ricevere profili di hardware e dettagli di immagini, e molto altro. Sul lato storage Deltacloud fornisce uno standard API per creare nuovi "bucket", manipolare i bucket ed i blob storage, e leggere e scrivere dati. In breve, fornisce tutte le operazioni base che gli utenti chiedono per interagire con servizi cloud ad un qualsiasi strumento o applicazione gestionale.
Il server DeltaCloud poi traduce le richieste che riceve in appropriate chiamate API per i fornitori di IaaS che supporta. Se un servizio non ha un'API nativa per fare qualcosa, come ad esempio fornire un modo per spedire dati di utenti, allora DeltaCloud segnala questo fatto in modo che gli sviluppatori possano lavorarci per risolverlo.
Perché proprio DeltaCloud?
Il progetto fu lanciato da Red Hat nel 2010, in quel periodo la compagnia guardava al panorama nascente del cloud e realizzò che c'era un grande gap in termini di portabilità e lock in dei dati. Scrivere applicazioni per fare qualsiasi cosa abbastanza velocemente bloccava i clienti dentro le API dei vari rivenditori. Per affrontare questo Red Hat volle offrire un'API neutrale sviluppata in maniera aperta. Siccome però il timore era che per sviluppare un progetto così ambizioso Red Hat non sarebbe bastata, questo venne allora proposto come progetto Apache, e l'incubazione è durata fino alla promozione di livello della settimana scorsa, che vuole dare il messaggio di una comunità che mostra attività e crescita nel seguire i processi di Apache.
Il progetto attualmente sta registrando contributi anche da altre compagnie, da Rackspace a IBM, a OpenNebula e ovviamente Red Hat. DeltaCloud viene utilizzato da Aeolus di Red Hat e da Katello Projects, e c'è anche un plugin Eclipse che può essere utilizzato per comunicare col cloud tramite DeltaCloud.
La cosa fondamentale per il cloud di questi tempi rimane evitare il lock in, ed in assenza di API unificate DeltaCloud potrebbe dare un grande contributo in questo diventando un punto di riferimento. E' ancora presto per dirlo perché si tratta di un progetto in fase di sviluppo e che ha appena di emanare i suoi primi vagiti, ma per chi sta cercando un supporto a diverse infrastrutture cloud dare un'occhiata a DeltaCloud di certo non guasta.
