Container: cosa sono e come funzionano (virtualizzazione)

I container si contrappongono alle macchine virtuali come approccio più "leggero" alla virtualizzazione server: ecco le principali diffrerenze tra i due sistemi

vmware nsx

Nell’ambito degli approcci alla virtualizzazione, un container è una forma di server virtualizzato a livello del sistema operativo. Invece di creare una istanza virtuale di tutto un server fisico (processore, storage, connessioni di rete, sistema operativo…) come accade per le macchine virtuali, nell’approccio IT a container si attiva una istanza virtuale solo dello spazio utente, quindi essenzialmente dell’ambiente di esecuzione delle applicazioni.

Tutto quello che supporta tale ambiente – quindi dal sistema operativo “in giù” verso l’hardware – non è virtuale ma reale e condiviso fra tutti i container in esecuzione.

Vantaggi dei container

Non dovendo inglobare tutte le risorse di un server, in particolare il kernel del sistema operativo, i container sono molto più “leggeri” delle macchine virtuali, richiedono poche risorse di CPU e possono essere attivati in pochi istanti. Questo li rende particolarmente adatti alle situazioni in cui il carico di elaborazione da sostenere è fortemente variabile nel tempo e ha picchi poco prevedibili.

ADV
HP Wolf Security

Il perimetro aziendale oggi passa dalla casa dei dipendenti

Metà dei dipendenti usa il PC anche per scopi personali e il 30% lascia che venga utilizzato da altri famigliari. La tua cybersecurity è pronta per le sfide del lavoro remoto? LEGGI TUTTO >>

Un caso tipico di questo scenario è la gestione del traffico per siti web di e-commerce che attivano promozioni speciali: i picchi di connessioni in entrata si possono gestire attivando in frazioni di secondo decine o centinaia di container, ciascuno dei quali esegue una istanza di un web server che sostiene parte del traffico dei visitatori del sito.

Leggi anche: Google rende disponibile Container Engine

Usare i container su Linux e Windows

Per implementare i container serve un modulo di astrazione tra il sistema operativo “ospitante” e i container. In ambiente Linux la soluzione dominante in questo senso è la piattaforma open source Docker, supportata e spesso integrata dalla maggior parte delle distribuzioni Linux più importanti (leggi anche: Container Linux, tra dubbi e grandi aspettative).

In ambiente Windows, si distinguono due diversi tipi di Windows Container:

Windows Server Container: forniscono uno strato di isolamento tra gli applicativi usando tecnologie basate sui namespace e la separazione dei processi, ma condividono il kernel tra tutti i container in esecuzione sullo stesso host.

Hyper-V Container: eseguono ogni container in una macchina virtuale ottimizzata, in cui viene eseguita una diversa istanza del kernel non condivisa con gli altri container Hyper-V.

Il tipo di container utilizzato ha implicazioni anche sul costo della licenza Windows Server.

Container e VM a confronto con le rispettive architetture
Container e VM a confronto con le rispettive architetture

Meglio container o macchine virtuali?

L’approccio dei container ha avuto una forte diffusione sul mercato per via della semplicità e della velocità nell’attivazione dei container stessi, ma ha alcuni limiti che non lo rendono adatto per qualsiasi applicazione.

Il primo e più evidente è che tutti i container condividono il medesimo sistema operativo, quindi non è possibile avere in esecuzione sullo stesso hardware ambienti con (virtualizzati) sistemi operativi diversi, cosa invece possibile usando le macchine virtuali.

Leggi anche: Tutti pazzi per i container

In secondo luogo non esiste una netta e completa separazione tra container: il kernel del sistema operativo ospitante è in comune e questo in linea teorica può comportare problemi di sicurezza. Se un container dovesse compromettere la stabilità del kernel, ad esempio, ciò si ripercuoterebbe su tutti gli altri container.

Se questo articolo ti è stato utile, e se vuoi mantenerti sempre aggiornato su cosa succede nell’industria ICT e ai suoi protagonisti, iscriviti alle nostre newsletter:

CWI: notizie e approfondimenti per chi acquista, gestisce e utilizza la tecnologia in azienda
CIO:
approfondimenti e tendenze per chi guida la strategia e il personale IT
Channelworld: notizie e numeri per distributori, rivenditori, system integrator, software house e service provider

Iscriviti ora!