Il primo incontro di questo viaggio californiano è stato quello con Openstack
Openstack è un progetto opensource lanciato quasi due anni fa da Rackspace (uno grande cloud service provider americano) che ha l’obiettivo di realizzare un “Cloud Operating System”: in pratica, una piattaforma che permette di realizzare e mantenere infrastrutture cloud pubbliche, private o ibride.

Cloud Operating System

Il significato di cloud operating system è semplice: l’idea è quella di fornire una piattaforma che controlla, organizza e automatizza l’uso delle risorse a disposizione ma anche di allocarne quando necessario. Inoltre, l’obiettivo è anche quello di fornire un set completo di APIs (per il controllo e la gestione del cloud) e gli strumenti adeguati ad amministratori e utenti.
Il tutto, ad oggi, si presenta come un set di script (scritti in linguaggio Python) grezzi ma molto sofisticati, totalmente open source e scaricabarili liberamente.
Gli utilizzatori finali di questo progetto sono internet/cloud providers ma anche grandi clienti che intendono implementare infrastrutture cloud.

Tanti progetti

Lo sviluppo del prodotto si può definire frenetico, infatti le release si susseguono velocemente e le nuove features, aggiunte ad ogni nuova versione, sono tante. La roadmap è altrettanto interessante e gli obiettivi decisamente ambiziosi.
Quello che mi stupisce però è che mi sembra tutto troppo ambizioso e, come ho visto mille volte in passato in progetti open source, il rischio è di perdere troppo la focalizzazione e ritrovarsi con tante belle idee per le mani ma implementazioni decisamente poco utilizzabili.

Scott Sanchez (Director-Business Developer per rackspace) ha parlato di 150 core developers mentre, delle 138 aziende nominate come partecipanti al progetto, sono circa un terzo quelle effettivamente attive.
Il numero può sembrare importante ma i progetti che sta seguendo la comunità sono tanti e, alla fine, c’è una grande dispersione di risorse.

Il rischio pratico dell’approccio che ho descritto sopra è quello di ritrovarsi con una piattaforma che supporta “tutto”, ma proprio per il fatto che supporta tutto è limitata e non sfrutta le funzionalità messe a disposizione dei singoli componenti. Un esempio è quello degli hypervisor: Openstack intende supportare praticamente tutti quelli oggi sul mercato a partire da Xen o KVM fino a quelli commerciali come Hyper-V o ESXi ma per alcuni supporta solo l’accensione/spegnimento della VM!

Interessi diversi

Come sempre avviene in questi casi, le aziende che supportano questo progetto hanno interessi diversi, spesso contrastanti. Un esempio pratico lo si trova nel fatto che alcuni di queste aziende hanno soluzioni alternative a quelle proposte all’interno del progetto (come ad esempio i produttori di soluzioni storace e il progetto interno swift, proprio delegato a creare una piattaforma di storage). Il vendor non è quindi li per regalare know-how al gruppo di sviluppo ma, anzi, vuole essere presente durante la redazione delle API proprio per avere sempre la possibilità di inserire la sua soluzione al posto di quella open.

Non per tutti

Openstack è un framework: la base per creare il proprio cloud privato o pubblico. Non è sicuramente un prodotto off-the-shelf ma sono necessari consulenti e sviluppatori per realizzare una infrastruttura funzionante e, spesso, sono necessari prodotti terze parti (libero o a pagamento) da integrare.
Aggiungo anche che escono nuove release del prodotto abbastanza spesso e il rischio è di eseguire una serie di personalizzazioni (magari non accettate dal gruppo di sviluppo) che rendono pressoché impossibile rimanere allineati con il codice più evoluto.
Sempre rimanendo nel campo della consulenza posso anche immaginare quale può essere la differenza in termini di qualità e costi di un professionista nella Silicon Valley e qui da noi in italia!

Nota finale

Sicuramente Openstack sta diventando un riferimento molto importante per il mercato cloud, allo stesso tempo non riesco ad immaginare come un’azienda di dimensioni normali (i nomi sulle slide vanno da NASA a Disney) possa pensare di adottarlo.
Ignorarlo può essere un errore fatale ma, dall’altra parte, la mia esperienza personale mi dice che è più facile per un provider di piccole dimensioni (o per un grande azienda) riferirsi a prodotti più commerciali e con un supporto specifico e preciso.

Disclaimer: Sono stato invitato a questo meeting da Condor Consulting Group e loro hanno pagato per il viaggio e l’alloggio. Non sono stato ricompensato in alcun modo per il mio tempo e non sono in obbligo di scrivere articoli. In ogni caso, i contenuti di questi articoli non sono concordati, rivisti o approvati dalle aziende menzionate o da altri al di fuori del team di juku.