I migliori software di virtualizzazione a confronto

I software di virtualizzazione dissociano il sistema operativo dall’hardware soggiacente. Ciò consente la ripartizione di potenti risorse IT in unità più piccole. Tra l’altro, i software di virtualizzazione possono essere utilizzati per gestire diverse “macchine virtuali” in un server fisico (VM). In questo modo si ottengono panorami informatici scalabili, sulla base di grandi centri di calcolo.

Un software VM è un prerequisito per le moderne piattaforme cloud che offrono soluzioni di “Infrastructure as a Service” (IaaS). Seguendo il modello fai da te, basta premere un pulsante e agli utenti vengono assegnate risorse virtualizzate. I programmi VM, tuttavia, sono utili anche per i singoli utenti, perché le macchine virtuali fungono da ambienti di lavoro riproducibili e sicuri. In questo articolo mettiamo a confronto i migliori software di virtualizzazione.

Consiglio

Noleggiate server cloud di IONOS scalabili e a un prezzo conveniente.

Prova gratuitamente il tuo server cloud di IONOS

Prova subito il tuo server cloud gratuitamente – Testa il tuo server cloud per 30 giorni!

API REST
Traffico illimitato
Virtualizzazione VMware

I migliori software VM a diretto confronto

Riassumiamo di seguito le caratteristiche più importanti dei migliori programmi VM mettendoli a confronto. Per ulteriori dettagli, consultate la rispettiva sezione riportata più in basso nell’articolo.

Le informazioni riportate nell’articolo sono aggiornate a novembre 2021.

Software Virtualizzazione Architettura Sistema operativo ospitante (OS host) Sistema operativo ospite (OS guest) Funzionalità Costi
Microsoft Hyper-V Manager Hypervisor nativo x86-64 Windows 10 Enterprise/Pro/Education a 64 bit Windows e Linux a 32 e 64 bit; a partire da Windows Vista (SP2) + gratuito
VMware Workstation Pro Hypervisor ospitato x86-64 Windows o Linux a 64 bit; a partire da Windows 8/Windows Server 2012 Windows e Linux a 32 e 64 bit; a partire da Windows XP +++ €€
Oracle VirtualBox Hypervisor ospitato x86-64 Windows o Linux a 64 bit; a partire da Windows 8.1/Windows Server 2012 Windows e Linux a 32 e 64 bit; a partire da Windows 8; versioni precedenti con funzionalità limitate ++ gratuito
VMware Fusion Pro Hypervisor ospitato ??? macOS Sistema operativo ospite (OS guest) +++ €€€
Parallels Desktop per Mac Hypervisor ospitato x86-64 e ARM (Apple Silicon) macOS 10.13 “High Sierra” fino alla versione 12 “Monterey” MacOS, Windows e Linux a 32 e 64 bit +++
KVM Hypervisor nativo x86-64, PowerPC, ARM Linux a 32 e 64 bit Windows e Linux a 32 e 64 bit; a partire da Windows XP/NT 4.0 + gratuito
QEMU Hypervisor ed emulatore ospitati x86, x86-64 PowerPC, ARM, MIPS, RISC-V, SPARC MacOS, Windows e Linux a 32 e 64 bit Windows e Linux a 32 e 64 bit +++ gratuito
OpenVZ Virtualizzazione del sistema operativo x86, x86-64 Linux a 32 e 64 bit Linux a 32 e 64 bit + gratuito

Cos’è la virtualizzazione?

La virtualizzazione è un concetto fondamentale in informatica. A grandi linee, è la fornitura di un livello di astrazionetra l’hardware (la base fisica) e il sistema operativo o tra il sistema operativo e il programma applicativo. L’astrazione delle risorse informatiche fisiche come hardware, software, memoria e componenti di rete, ha l’obiettivo di fornire risorse a livello virtuale e distribuirle ai diversi clienti in modo flessibile e in base alle esigenze.

Nel nostro articolo di approfondimento sul tema della virtualizzazione, menzioniamo vari tipi di virtualizzazione, di cui due sottocategorie specifiche sono di particolare interesse:

  1. Virtualizzazione completa: caso speciale di virtualizzazione dell’hardware in cui a ogni istanza in esecuzione (macchina virtuale) viene assegnato il proprio hardware virtualizzato.
  2. Virtualizzazione a livello di sistema operativo: caso speciale di virtualizzazione del software in cui ogni istanza in esecuzione (container) ha accesso a un sistema operativo virtualizzato con risorse limitate.

Come funziona un software di virtualizzazione?

A seconda del tipo di software di virtualizzazione utilizzato, vi sono meccanismi di fondo diversi. Nel caso della virtualizzazione dell’hardware viene utilizzato un software denominato “hypervisor”. L’hypervisor funge da interfaccia tra l’hardware fisico e le macchine virtuali. Solitamente un hypervisor viene eseguito su un sistema operativo specifico (“Operating System”, OS), ossia il sistema operativo ospitante (OS host), e fornisce un hardware virtualizzato per un sistema operativo ospite (OS guest). Come illustrato nella tabella sottostante, esistono due tipi di hypervisor.

Tipo di hypervisor Denominazione Descrizione Esempio
Hypervisor di tipo 1 “native” o “bare-metal” Un hypervisor di tipo 1 viene eseguito direttamente sull’hardware fisico (bare-metal) o viene integrato nel sistema operativo ospitante (nativo): Hardware → Hypervisor/OS host → OS guest Hyper-V, KVM
Hypervisor di tipo 2 “hosted” Un hypervisor di tipo 2 viene eseguito su un sistema operativo ospitante: Hardware → OS host → Hypervisor → OS guest  
N.B.

Alcuni sistemi operativi ospiti richiedono un sistema operativo ospitante specifico. Questo consente a macOS di essere eseguito come ospite solo su un macOS ospitante.

Nel caso della virtualizzazione a livello di sistema operativo, viene impiegato un software speciale che genera ambienti di esecuzione isolati basati sul sistema operativo. Docker, Kubernetes e OpenVZ sono esempi ben noti di programmi di virtualizzazione a livello di sistema operativo.

A cosa servono i software di virtualizzazione?

Il software di virtualizzazione viene usato per creare macchine virtuali a partire dall’hardware fisico. Questo processo, noto come “provisioning”, costituisce la base delle piattaforme cloud scalabili. AWS e le alternative ad AWS rendono quindi possibile l’“Infrastructure as a Service” (IaaS), vale a dire la fornitura automatica di un hardware virtualizzato premendo un pulsante.

A differenza dei sistemi operativi installati su un hardware fisico, le macchine virtuali (virtual machine, VM) offrono un altro vantaggio fondamentale. Lo stato di una VM può essere salvato come cosiddetto “snapshot”(istantanea). Se qualcosa va storto mentre si lavora con la VM, si può tornare rapidamente all’ultima istantanea. Inoltre, è possibile creare una nuova immagine VM da una VM in esecuzione. Questa riproducibilità dell’ambiente di lavoro è un requisito indispensabile per lo sviluppo di software e l’attività scientifica.

L’uso di macchine virtuali (VM) nello sviluppo di software è oggigiorno sostituito ampiamente dalla virtualizzazione dei container. Dato che tutti i container in esecuzione su un host condividono un sistema operativo, questo tipo di virtualizzazione offre prestazioni notevolmente migliori ed è meno esigente in termini di risorse. Tuttavia, vi sono ancora casi in cui è opportuno impostare una VM a scopo di test, ad esempio quando lo sviluppo di Linux deve essere eseguito dal desktop di Windows.

Un altro vantaggio dell’uso di alcuni programmi VM sta nel fatto che questi consentono l’accesso a sistemi remoti. Con la “virtualizzazione del desktop”, un software VM viene eseguito localmente mentre la macchina virtuale viene eseguita su un host remoto. Separare il sistema operativo in diversi sistemi isolati è conveniente anche in termini di sicurezza. Un esempio interessante è “Qubes OS”, che si basa sull’hypervisor Xen. L’informatore della NSA Edward Snowden afferma quanto segue al riguardo:

Citazione

„If you’re serious about security, Qubes OS is the best OS available today. It’s what I use, and free. Nobody does VM isolation better.“ – Source: www.qubes-os.org/experts/

“Se prendete sul serio la sicurezza, Qubes OS è il miglior sistema operativo attualmente disponibile. Lo utilizzo io stesso ed è gratuito. Nessun altro sistema operativo riesce a effettuare meglio l’isolamento delle VM.” (tradotto da IONOS)

I migliori software di virtualizzazione

Di seguito, esaminiamo in dettaglio i migliori software VM. Il confronto non include gli hypervisor bare-metal come ESXi e Xen, né gli strumenti per la pura virtualizzazione dei container, quali Docker, Kubernetes e OpenShift. Vi presentiamo i programmi VM per gli utenti, raggruppati per sistema operativo ospite. Occorre considerare che i costi delle controparti del software VM in esecuzione sul server possono essere più elevati di un ordine di grandezza.

I migliori programmi VM per Windows

In passato, Windows era piuttosto carente in termini di virtualizzazione; Linux, infatti, è sempre stato il “pezzo grosso” della virtualizzazione. Nel frattempo, sono stati fatti considerevoli progressi. “Hyper-V” di Microsoft, ad esempio, è parte integrante delle moderne versioni di Windows. Questa tecnologia è anche alla base del “sottosistema Windows per Linux" (WSL/WSL2). L’esecuzione di varie distribuzioni Linux con Windows in macchine virtuali ad alte prestazioni si rivela molto utile, soprattutto per gli sviluppatori.

L’uso di software di virtualizzazione risulta utile specialmente con Windows. Per decenni, infatti, questo onnipresente sistema operativo è stato tormentato da conflitti di driver, virus e trojan. L’uso di macchine virtuali (VM) permette di lavorare in sicurezza in ambienti isolati. Ad esempio, potete gestire il vostro online banking interamente in un ambiente Linux in cui l’assenza di virus è garantita. Inoltre, le VM offrono la possibilità di creare istantanee che, in caso di danni al sistema, permettono di ritornare a uno stato iniziale sicuro in modo semplice.

Microsoft Hyper-V Manager

Hyper-V Manager di Microsoft è parte di Windows Server 2008 e delle versioni successive di Windows. Questo software di virtualizzazione consente la gestione di macchine virtuali (VM) sulle edizioni Enterprise, Pro ed Education di Windows 10 e può essere utilizzato gratuitamente, anche se potrebbero esserci dei costi associati alla licenza di Windows 10. Hyper-V Manager è utilizzato per la gestione degli host Hyper-V e delle macchine virtuali, che possono essere situati in locale o su macchine remote. Un’interfaccia grafica permette di lavorare comodamente con ambienti virtuali da una piattaforma centrale.

VMware Workstation Pro

Il software di virtualizzazione “Workstation Pro” del gigante della virtualizzazione VMware è rivolto ai professionisti IT, agli sviluppatori e alle aziende. Questo programma VM consente la virtualizzazione della maggior parte dei sistemi operativi x86 su un normale computer fisso, come pure l’accesso a distanza ad ambienti vSphere remoti. Ma non si limita solo a questo.

Workstation Pro agevola il processo di sviluppo test e le presentazioni software su una vasta gamma di dispositivi, piattaforme e cloud. Il software di virtualizzazione permette la configurazione di reti virtuali e altre risorse virtualizzate. Inoltre, i container OCI (Open Container Initiative) locali e i cluster Kubernetes possono essere gestiti con l’isolamento delle VM. In aggiunta all’interfaccia grafica, è disponibile lo strumento a riga di comando “vctl”. In questo modo, i flussi di lavoro possono essere automatizzati.

Come si verifica di consueto con i programmi VM, le istantanee delle macchine virtuali possono essere create e ripristinate in un secondo momento. Inoltre, questo programma di virtualizzazione può essere utilizzato per gestire un secondo desktop, che risulta altamente sicuro grazie a impostazioni di privacy e di rete più rigide. Il supporto delle tecnologie 3D DirectX 11 e OpenGL all’interno delle VM è particolarmente utile per videogiochi e applicazioni grafiche sofisticate.

Nonostante l’elevata gamma di funzionalità, questo software VM è piuttosto accessibile, avendo un prezzo inferiore a 200 €, e gli studenti attuali e futuri di college o università, i loro genitori, i docenti e il personale degli istituti di istruzione hanno diritto a uno sconto. È inoltre disponibile una versione di prova, che può essere utilizzata gratuitamente per 60 giorni.

Oracle VirtualBox

“VirtualBox” di Oracle è il prodotto di punta dei software di virtualizzazione . Questo programma VM permette il facile utilizzo di macchine virtuali (VM) dal computer di casa e, anche se l’interfaccia utente sembra leggermente obsoleta per gli standard odierni, è sempre stato soddisfacente per via della sua facilità d’uso e dell’alto livello di comfort che offre. Inoltre, VirtualBox è un “Free and Open Source Software” (FOSS), una caratteristica unica per i programmi VM dei fornitori commerciali.

VirtualBox funge da base per il funzionamento di macchine virtuali su un sistema host ed è spesso usato in combinazione con altri software specializzati. Il popolare strumento “Vagrant”, ad esempio, automatizza la creazione di ambienti di sviluppo riproducibili. Funge da interfaccia tra i software di virtualizzazione, come VirtualBox, VMware, Hyper-V e Docker, e i software di provisioning, come Puppet, Chef e Ansible.

Il migliore software VM per Mac

In linea di principio, il software di virtualizzazione permette l’esecuzione di un sistema operativo ospite su un sistema operativo ospitante. In questo modo è possibile avviare una distribuzione Linux dal desktop di Windows oppure gestire un’installazione di Windows da Linux. Mac, tuttavia, presenta una caratteristica speciale: macOS, infatti, come sistema ospite, può essere utilizzato (legalmente) solo su un host macOS.

VMware Fusion Pro

“Fusion Pro” del fornitore VMware rappresenta grosso modo la controparte Mac di VMware Workstation, già descritto. Questo programma VM è diventato molto popolare perché permetteva l’esecuzione di Windows su Mac. Quando il software di virtualizzazione venne lanciato nel 2007 era già sensazionale e oggi è in grado di offrire molto di più.

Grazie a Fusion Pro, le macchine virtuali (VM) possono essere gestite su Mac con macOS, Windows e Linux come sistemi operativi. Inoltre, questo software di virtualizzazione include funzionalità per la creazione, la gestione e l’esecuzione di container OCI e cluster Kubernetes. È in questo contesto che entrano in gioco l’elevata sicurezza e il forte isolamento delle macchine virtuali. Ciò permette di eseguire e testare uno stack cloud completo su un singolo Mac.

Con la funzionalità di snapshot integrata, è possibile ritornare a punti di archiviazione sicuri, se necessario. L’interfaccia grafica consente inoltre la connessione a server vSphere ed ESXi remoti. Le macchine virtuali (VM) e gli host fisici possono essere controllati e gestiti, le VM vengono semplicemente spostate tra gli host tramite la funzione drag-and-drop.

Il costo per l’acquisto di una licenza è attualmente pari a circa 230 € e l’aggiornamento di una licenza esistente è disponibile a circa la metà del prezzo. Come il suo “fratello maggiore”, Workstation Pro di VMware, anche Fusion Pro può essere testato gratuitamente per 60 giorni.

Parallels Desktop per Mac

Oltre a VMware Fusion, “Parallels Desktop per Mac” è il classico programma VM per Mac. Gli sviluppatori e gli utenti possono così lavorare con diversi sistemi operativi su Mac senza dover impostare una configurazione dual boot. Usando questo software di virtualizzazione, i frequenti riavvii diventano superflui.

Parallels Desktop è fortemente incentrato sulla fornitura di un ambiente desktop Windows che funziona “in parallelo” con macOS. Questo programma di virtualizzazione permette lo spostamento e la condivisione di contenuti in modo continuo tra Mac e Windows. Grazie alla cosiddetta “Coherence Mode”, le applicazioni Windows possono essere utilizzate come applicazioni Mac.

Il prezzo per l’acquisto di una licenza è di circa 100 €, che rientra nella gamma più bassa dei programmi VM commerciali, e gli utenti privati e gli studenti hanno diritto a uno sconto; l’aggiornamento di una licenza esistente costa circa 50 €.

Oracle VirtualBox

In passato il programma VM VirtualBox, descritto sopra, era compatibile anche con macOS. In tal senso, vi erano alcune limitazioni: come sistema operativo ospite poteva essere utilizzato solo Mac OS X Server nelle versioni Leopard o Snow Leopard. Purtroppo, VirtualBox supporta Mac solo fino alla versione macOS 10.15 “Catalina”. I Mac moderni non sono affatto supportati da questo software di virtualizzazione. Ciò è dovuto al fatto che VirtualBox richiede un hardware x86 e quindi non è compatibile con i nuovi chip “Apple Silicon” basati su ARM.

Il migliore software VM per Linux

Il sistema operativo gratuito Linux è per così dire il “brodo primordiale” da cui è emersa la tecnologia della virtualizzazione. Oggigiorno, i blocchi di base per la virtualizzazione sono profondamente incorporati nel kernel del sistema operativo. Ciò si traduce nel più ampio spettro di programmi VM per gli utenti. Oltre a numerose soluzioni disponibili gratuitamente, vi sono anche alcune opzioni commerciali.

Kernel-based Virtual Machine (KVM)

L’infrastruttura di virtualizzazione “Kernel-based Virtual Machine” (KVM) è ancorata nel kernel di Linux come tecnologia di virtualizzazione di base. Con l’ausilio di KVM, il kernel diventa un hypervisor su cui vengono eseguite macchine virtuali Linux e Windows. Oltre all’hardware x86, sono supportati anche i processori PowerPC e alcuni ARM. Se disponibile, viene utilizzato Intel VT-x oppure AMD-V per migliorare le prestazioni delle macchine virtuali a livello di processore.

KVM consente di gestire diverse macchine virtuali (VM)su un host Linux. A ogni VM viene assegnato il proprio hardware virtualizzato. Oltre ai core del processore e alla RAM, sono inclusi anche gli adattatori di rete e grafici e la memoria di massa. Le immagini delle macchine virtuali Linux e Windows non modificate sono utilizzate per configurare le macchine virtuali.

Vi sono molti altri programmi di virtualizzazione dell’universo Linux basati su KVM. Sono dunque disponibili svariate interfacce utente che permettono di gestire le macchine virtuali (VM). Sul desktop, come interfaccia grafica, è presente il “Virtual Machine Manager”. La KVM e le VM ospitate sono accessibili tramite il browser con “Kimchi” o “Foreman”. Vi sono anche interfacce a riga di comando che possono essere adoperate per automatizzare i flussi di lavoro usati con maggiore frequenza. La KVM è controllata in background tramite l’API libvirt.

QEMU

“Quick Emulator” (QEMU) è un complesso software di virtualizzazione. Oltre alla virtualizzazione completa dell’hardware x86, QEMU è anche in grado di emulare altre architetture di processori. Ciò consente l’esecuzione di file binari che sono stati scritti per processori non fisicamente presenti nel sistema. È anche possibile tradurre ed eseguire singoli programmi in tempo reale.

Per impostazione predefinita, QEMU è integrato con altri programmi VM. Questo software di virtualizzazione può essere utilizzato con hypervisor come VirtualBox, KVM e Xen. Tramite l’impiego di “acceleratori” basati sull’hardware, si ottengono prestazioni quasi native durante l’esecuzione di macchine virtuali. Lo strumento è gratuito ed è disponibile con una licenza open source.

OpenVZ

Con OpenVZ gli utenti Linux possono godere di un software di virtualizzazione molto interessante. Il progetto open source è emerso dallo sviluppo del software commerciale “Virtuozzo”. Il nome sta anche per “Open Virtuozzo”. Attualmente OpenVZ funge da componente di base open source del segmento commerciale.

Ciò che rende OpenVZ speciale è l’assenza di un hypervisor. La virtualizzazione avviene infatti a livello di sistema operativo. In altri termini, si utilizzano i container. Tuttavia, non viene eseguito nessun container di applicazioni, come avviene per Docker. Al contrario, OpenVZ virtualizza più sistemi operativi, reciprocamente isolati, basati su un singolo kernel Linux appositamente adattato. L’uso di OpenVZ è particolarmente utile per il consolidamento delle risorse del server.

VMware Workstation Pro

Il software di virtualizzazione Workstation Pro di VMware, già presentato, è disponibile anche per Linux. La funzionalità è paragonabile alla versione Windows del software. Tuttavia, vi sono alcune peculiarità specifiche di Linux. Anziché DirectX, che è disponibile solo con Windows, è supportato il motore di rendering “Vulkan”. È possibile eseguire una vasta gamma di distribuzioni Linux e Unix, quali Ubuntu, CentOS, Debian, Fedora, RHEL e SUSE, come sistema operativo ospite.

Oracle VirtualBox

VirtualBox è l’unico programma VM descritto in questo articolo che può essere eseguito anche suLinux, oltre che su Windows e macOS (ad eccezione dei Mac moderni). La funzionalità è simile alla versione per Windows.