Circa tre settimane fa, alla DockerCon, è stato annunciato un progetto open source a cui hanno aderito praticamente tutti i vendor che si occupano a qualche titolo di container. Questo cambia, ancora una volta, le carte in tavola… ed è molto positivo per lo sviluppo die container.
Cosè un container
Il concetto di container è tutto meno che nuovo. Anche questo esiste dall’epoca dei mainframe, ha visto alcune iterazioni nel mondo Unix e alla fine è stato riproposto nel mondo Linux (e sarà presto disponibile su Microsoft).
In pratica, al contrario di una VM, alcune componenti del sistema operativo sono comuni fra i container (ad esempio il kernel) ma dal punto di vista applicativo e utente questo risulta una istanze di sistema operativo completamente separata dalle altre.
Questo approccio ha vantaggi e svantaggi. Il vantaggio principale è la leggerezza e quindi l’efficienza in caso si debbano istanziare tanti container in tempi rapidi. Lo svantaggio più evidente è che il container non è una VM (e il suo SO) come siamo abituati e per sfruttare le sue caratteristiche le applicazioni devono essere scritte appositamente.
I container trovano la loro applicazione negli ambienti fortemente distribuiti e, per quanto esistano costrutti che permettono di lavorare quasi come VM standard, il massimo lo danno quando vengono utilizzati come strumenti stateless (e quindi sacrificabili e istanziabili senza doversi preoccupare troppo dei dati locali). Insomma, il concetto di alta affidabilità è diverso da quello a cui siamo abituati…
Open Container
Negli ultimi due/tre anni abbiamo visto nascere molte aziende che si stanno occupando dello sviluppo di container. Docker è probabilmente la più famosa ma ognuna di queste si è concentrata su alcune funzionalità specifiche o ha spinto lo sviluppo dei suoi prodotti più sul laot dell’orchestrazione e della gestione di sistemi distribuiti. Une esempio calzante è CoreOS, che ha anche presentato una alternativa ai contaner di Docker proprio pochi mesi fa.
CoreOS aveva fatto questa mossa proprio per far si che Docker non prendesse troppo il controllo dell’ecosistema lasciando le briciole agli altri e portando troppa acqua al suo mulino.
Con l’annuncio di Open Container le cose cambiano radicalmente. Infatti ora, partendo dalle specifiche (e dal codice) del container di Docker, ci sarà una sola specifica per i container e tutti potranno poi concentrarsi sui prodotti di contorno… dove sta il vero valore (e i soldi!).
CoreOs, che ho incontrato qualche settimana fa, sta infatti concentrando la maggior parte delle sue forze su una serie di prodotti che dovrebbero proprio creare l’ecosistema necessario alla loro adozione. Questa azienda sta infatti creando una suite, chiamata Tectonic, che comprende tutti i componenti sviluppati per gestire i container, creare sistemi distribuiti e l’orchestrazione di tutto l’ambiente. Una cosa simile stanno facendo altri, compreso Vmware, ognuno scegliendo strumenti diversi ma con scopi molto simili.
Nota finale
Siamo all’inizio della vera adozione di questi strumenti nel mondo enterprise. E quando dico inizio intendo che, a parte l’hype generato, sono pochissime le aziende che stanno già usando questi strumenti in produzione… ma è sicuramente una cosa che prenderà sempre più piede, soprattutto se la vostra azienda adotterà o svilupperà software distribuito per alcuni dei servizi che offre.
Questa è sicuramente una tecnologia da tenere d’occhio. Non è un sostituto di Vmware, che anzi sta cercando di produrre una sua suite di prodotti che ha un senso concreto se si è già cliente… ma si tratta di una nuova tecnologia che, per essere adottata degnamente, avrà bisogno di sviluppatori in grado di comprenderla pienamente e applicazioni in grado di sfruttarla. Non so neanche se ha senso pensarla in ambienti molto piccoli dove le risorse infrastrutturali sono comunque limitate mentre questa è pensata per grndi (grandissimi) numeri… si vedrà.
Comunque, e qui chiudo, la comunità intorno ai container è molto attiva. Io ho avuto una ottima impressione da CoreOS e loro hanno un ottimo sito pieno di documentazione e software da scaricare/provare. Potrebbe essere un buon punto di partenza… soprattutto ora che tutti andranno verso l’open container!