Per Arbezzano esisterebbero due ragioni in particolare che avrebbero decretato il successo di Docker, cgroup/LXC e la sua architettura.

Cgroup è una feature del kernel Linux che permette di controllare l'uso delle risorse allocate da un processo (CPU, spazio su disco, RAM, uso della rete), consentendo di isolare e controllare un singolo processo del sistema in modo molto minuzioso. LXC è poi un ambiente di virtualizzazione a container, che opera a livello del sistema operativo e permette di eseguire diversi ambienti Linux virtuali isolati tra loro (container) su una singola macchina reale basata sul kernel Linux.

Il secondo elemento riguarda invece la struttura stessa di Docker. Prima dell'introduzione dei Dockerfile i developer erano abituati a gestire un file di configurazione complesso per descrivere l'infrastruttura come codice. Ma grazie al team di Docker tutto questo è stato enormemente semplificato.

Oggi avviare una normale macchine virtuale risulterebbe più costoso in termini di risorse rispetto ad un'immagine Docker. E questo è un altro dei fattori che ne ha decretato il successo. Docker offre un ambiente isolato e sicuro all'interno di un file della dimensione di una tarball.

Ovviamente esistono anche casi dove le macchine virtuali possono risultare più convenienti di un container, ad esempio se si vuole realizzare uno stack LAMP all'interno di un server.

Ma nella maggior parte dei casi, in particolare se si sta sviluppando e distribuendo una singola applicazione che dipende da una determinata libreria software, Docker è probabilmente la scelta più indicata e il mercato dello sviluppo software durante il 2017 è andato proprio in questa direzione.

Via Jaxenter

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *