CONTAINER: DALLE ORIGINI FINO A DOCKER
Come nasce la tecnologia dei container?
Nello scorso post abbiamo parlato di container, una tecnologia sempre più utilizzata ultimamente in ambito IT e Cloud Computing, la cui origine non è però così recente come si può pensare. Vediamo in breve la storia dei container: dall’idea su cui si basa questa tecnologia fino alle soluzioni più recenti (Docker e simili).
Il concetto alla base dei container nasce già nel lontano 1979 con chroot UNIX, un sistema in grado di fornire ai processi degli spazi isolati all’interno dello storage in uso. Per questa peculiare caratteristica, Chroot può essere considerato una sorta di precursore degli attuali container.
Solo una ventina di anni dopo nasce una soluzione più vicina a quella dei container in uso oggigiorno: si tratta di FreeBSD Jail, introdotta nel 2000. FreeBSD Jail consentiva di ripartire il sistema in più sottosistemi isolati chiamati jail. Rispetto a chroot, la funzionalità aggiuntiva di questi ambienti era la possibilità di isolare anche i file di sistema, gli utenti e la rete, rendendoli molto più sicuri. La soluzione aveva però alcune debolezze in termini di implementazione e presto venne sostituita da metodi più efficienti.
L’anno dopo, nel 2001, viene sviluppata una soluzione simile a Jail chiamata Linux VServer, capace di partizionare le risorse di un computer nei cosidetti “security context”, all’interno dei quali vi era un sistema VPS (Virtual Private Server). Il progetto VServer, lanciato da Jacques Gèlinas, getta le basi per la creazione di più spazi utente controllati in Linux e, nel corso del tempo, con l’inserimento di tecnologie ed elementi aggiuntivi, si arriverà allo sviluppo degli attuali container Linux.
Grazie allo sviluppo di nuove tecnologie e ai progressi compiuti in materia di namespaces (spazi dei nomi utente), nel 2008 nasce il progetto LinuX Container (LXC): la soluzione più completa di gestione di container in quegli anni. Tra i componenti fondamentali del progetto vi è lo sviluppo dei cgroups, creati da Google nel 2006, i quali consentono di controllare e limitare l’utilizzo delle risorse da parte di un processo o di un gruppo di processi.
Il 2013 è l’anno di svolta: arriva Docker, il sistema di container Linux più utilizzato in campo IT. Docker è un progetto open source sviluppato dalla compagnia Dotcloud (in seguito rinominata Docker) sulla base di LXC, che, attraverso ulteriori avanzamenti, diventò ciò che è la tecnologia Docker di oggi. Dal 2014 Docker non utilizza più LXC come ambiente di esecuzione di default, sostituito dalla propria libreria libcontainer scritta nel linguaggio di programmazione Go. Docker è un ecosistema complesso ma molto intuitivo per il deployment e la gestione dei container, ricco di funzonalità tra le quali un sistema di immagini, registri locali e globali per i container e un’interfaccia a linea di comando.
Abbiamo parlato nello specifico di Docker in quanto è il più diffuso a livello mondiale, ma non è l’unico sistema di gestione dei container: esistono svariate soluzioni tecnologiche che hanno la stessa funzione tra le quali Kubernetes, Google Container Engine e molte altre.
Vuoi saperne di più sulla tecnologia dei container? Richiedi una consulenza gratuita con i nostri esperti!
Contattaci
Compila il form e un nostro esperto ti ricontatterà entro 24 ore: non vediamo l’ora di conoscerti!