I container sono unità software standard che contengono tutto il codice e le dipendenze, tra cui file binari, librerie e file di configurazione, necessari per eseguire un'applicazione. I software containerizzati possono essere eseguiti in maniera affidabile da un ambiente di elaborazione a un altro.
Sia le macchine virtuali (VM), sia i container utilizzano la virtualizzazione per creare ambienti isolati destinati all'esecuzione delle applicazioni. La differenza principale sta nella granularità della virtualizzazione offerta: le prime virtualizzano a livello di sistema operativo/computer, mentre i secondi virtualizzano a livello di software.
Diamo un'occhiata più da vicino alle differenze tra queste due tecnologie di virtualizzazione.
Una macchina virtuale virtualizza l'intero computer e il sistema operativo in modo da ospitarli su un computer diverso. Per condividere le risorse sul computer host, è necessario un hypervisor per virtualizzare il server. È possibile eseguire più macchine virtuali su un singolo hypervisor con un computer host. Le macchine virtuali consentono di risparmiare sui costi grazie alla possibilità di effettuare il partizionamento di un singolo server in più macchine su cui eseguire le applicazioni con dipendenze e requisiti operativi diversi.
Se da un lato è possibile risparmiare sui costi dal momento che non è necessario acquistare nuovi server, le macchine virtuali richiedono tante risorse di sistema al computer host. Quando occorre simulare un intero sistema operativo e il computer alla base per eseguire una sola applicazione tramite l'hypervisor, è chiaro che un'ulteriore granularità potrebbe portare a un risparmio sui costi anche maggiore.
Prova l'esperienza di un'istanza self-service di Pure1® per gestire Pure FlashBlade™, la soluzione più avanzata del settore che offre file e l'object storage scale-out nativi.
Immagina la comodità di eseguire un'applicazione in un ambiente virtuale senza i tanti requisiti di risorse di un hypervisor. In pratica è quello che puoi fare con un container incapsulando il software in unità indipendenti virtuali.
In un container, non è più necessario virtualizzare un intero sistema operativo e il server con un hypervisor. Invece, si virtualizzano solo le dipendenze software e hardware necessarie per l'esecuzione di un'applicazione specifica mentre utilizzi il kernel di sistema operativo del computer host. I container permettono di creare più workload su un'unica istanza di sistema operativo. Di conseguenza, i container sovraccaricano meno i server fisici rispetto alle macchine virtuali.
Mentre i container sono più agili delle macchine virtuali, la loro dipendenza dal kernel di sistema operativo del computer host limita l'uso di applicazioni che richiedono ambienti di sistema operativo diversi. Le macchine virtuali sono inoltre più isolate e sicure in quanto sono del tutto indipendenti dal computer host.
L'utilizzo dei container è consigliato in caso di:
L'utilizzo delle macchine virtuali è consigliato in caso di:
Mentre i container permettono di ignorare i dettagli hardware da una prospettiva di sviluppo software, le inefficienze dell'infrastruttura IT legacy possono comunque determinare un calo delle performance complessive.
Pure Service Orchestrator™ è uno strumento di orchestrazione dei container che offre risorse di storage persistente per le applicazioni containerizzate. Si integra perfettamente con Kubernetes e altri strumenti di orchestrazione dei container per fornire:
Pure Service Orchestrator combina scalabilità elastica, provisioning intelligente e ripristino trasparente per offrire container as-a-service.
Hai domande o commenti sui prodotti o sulle certificazioni di Pure? Siamo qui per aiutarti.
Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure.
Telefono: +39 02 9475 9422
Media: pr@purestorage.com
Pure Storage Italia
Spaces c/o Bastioni di Porta Nuova, 21
Milano, 20121