I software di vir­tua­liz­za­zio­ne dis­so­cia­no il sistema operativo dall’hardware sog­gia­cen­te. Ciò consente la ri­par­ti­zio­ne di potenti risorse IT in unità più piccole. Tra l’altro, i software di vir­tua­liz­za­zio­ne possono essere uti­liz­za­ti per gestire diverse “macchine virtuali” (VM) in un server fisico. In questo modo si ottengono panorami in­for­ma­ti­ci scalabili, sulla base di grandi server farm.

Le migliori VM in un confronto diretto

Qui di seguito rias­su­mia­mo le ca­rat­te­ri­sti­che più im­por­tan­ti dei migliori programmi di VM met­ten­do­li a confronto. Per ulteriori dettagli, consulta la ri­spet­ti­va sezione riportata più in basso nell’articolo.

Le in­for­ma­zio­ni riportate nell’articolo sono ag­gior­na­te a luglio 2024.

Software Sistema operativo host Costi
Microsoft Hyper-V Manager Windows 10 Enยญterยญpriยญse / Pro / Education a 64 bit gratis
VMware Workยญstaยญtion Pro Windows o Linux a 64 bit; a partire da Windows 8 / Windows Server 2012 โ‚ฌโ‚ฌ
Oracle VirยญtualยญBox Windows o Linux a 64 bit; a partire da Windows 8.1 / Windows Server 2012 gratis
VMware Fusion Pro macOS โ‚ฌโ‚ฌโ‚ฌ
Parallels Desktop for Mac macOS 10.13 โ€œHigh Sierraโ€ fino alla versione 12 โ€œMontereyโ€ โ‚ฌ
KVM Linux a 32 e 64 bit gratis
QEMU macOS, Windows e Linux a 32 e 64 bit gratis
OpenVZ Linux a 32 e 64 bit gratis

Cos’è la vir­tua­liz­za­zio­ne?

La vir­tua­liz­za­zio­ne è un concetto fon­da­men­ta­le in in­for­ma­ti­ca. A grandi linee, consiste nell’im­ple­men­ta­zio­ne di un livello di astra­zio­ne tra l’hardware (la base fisica) e il sistema operativo o tra il sistema operativo e il programma ap­pli­ca­ti­vo. L’astra­zio­ne delle risorse in­for­ma­ti­che fisiche, come hardware, software, memoria e com­po­nen­ti di rete, ha l’obiettivo di fornire risorse a livello virtuale e di­stri­buir­le ai diversi clienti in modo fles­si­bi­le e in base alle esigenze. Questo aspetto è uno dei vantaggi prin­ci­pa­li della vir­tua­liz­za­zio­ne.

Come funziona un software di vir­tua­liz­za­zio­ne?

A seconda del tipo di software di vir­tua­liz­za­zio­ne uti­liz­za­to, vi sono mec­ca­ni­smi di fondo diversi. Nel caso della vir­tua­liz­za­zio­ne dell’hardware viene uti­liz­za­to un software de­no­mi­na­to “hy­per­vi­sor”. L’hy­per­vi­sor funge da in­ter­fac­cia tra l’hardware fisico e le macchine virtuali. So­li­ta­men­te un hy­per­vi­sor viene eseguito su un sistema operativo specifico (“Operating System”, OS), ossia il sistema operativo ospitante (OS host) e fornisce un hardware vir­tua­liz­za­to per un sistema operativo ospite (OS guest). Come il­lu­stra­to nella tabella sot­to­stan­te, esistono due tipi di hy­per­vi­sor.

Tipo di hyยญperยญviยญsor Deยญnoยญmiยญnaยญzioยญne Deยญscriยญzioยญne Esempi
Hyยญperยญviยญsor di tipo 1 โ€œnativeโ€ o โ€œbare-metalโ€ Un hyยญperยญviยญsor di tipo 1 viene eseguito diยญretยญtaยญmenยญte sullโ€™hardware fisico (bare-metal) o viene integrato nel sistema operativo host (nativo): hardware โ†’ hyยญperยญviยญsor/OS host โ†’ OS guest Hyper-V, KVM
Hyยญperยญviยญsor di tipo 2 โ€œhostedโ€ Un hyยญperยญviยญsor di tipo 2 viene eseguito su un sistema operativo ospitante: hardware โ†’ OS host โ†’ hyยญperยญviยญsor โ†’ OS guest VirยญtualยญBox, VMware Fusion
N.B.

Alcuni sistemi operativi guest ri­chie­do­no un sistema operativo host specifico. Questo consente a macOS di essere eseguito come ospite solo su un macOS host.

Nel caso della vir­tua­liz­za­zio­ne a livello di sistema operativo viene impiegato un software speciale che genera ambienti di ese­cu­zio­ne isolati basati sul sistema operativo. Docker, Ku­ber­ne­tes e OpenVZ sono esempi ben noti di programmi di vir­tua­liz­za­zio­ne a livello di sistema operativo.

A cosa servono i software di vir­tua­liz­za­zio­ne?

Il software di vir­tua­liz­za­zio­ne viene usato per creare macchine virtuali a partire dall’hardware fisico. Questo processo, noto come “pro­vi­sio­ning” (im­ple­men­ta­zio­ne), co­sti­tui­sce la base delle piat­ta­for­me cloud scalabili. AWS e le sue al­ter­na­ti­ve ne rendono quindi possibile l’uso come “In­fra­struc­tu­re as a Service” (IaaS), vale a dire l’im­ple­men­ta­zio­ne au­to­ma­ti­ca di un hardware vir­tua­liz­za­to premendo un pulsante.

A dif­fe­ren­za dei sistemi operativi in­stal­la­ti su un hardware fisico, le macchine virtuali (virtual machine, VM) offrono un altro vantaggio fon­da­men­ta­le. Lo stato di una VM può essere salvato come co­sid­det­to “snapshot” (istan­ta­nea). Se qualcosa va storto mentre si lavora con la VM, si può tornare ra­pi­da­men­te all’ultima istan­ta­nea.

Un altro vantaggio dell’uso di alcuni programmi di VM sta nel fatto che questi con­sen­to­no l’accesso a sistemi remoti. Con la “vir­tua­liz­za­zio­ne del desktop”, un software di VM viene eseguito in locale mentre la macchina virtuale viene eseguita su un host remoto. Separare il sistema operativo in diversi sistemi isolati è con­ve­nien­te anche in termini di sicurezza.

I migliori software di vir­tua­liz­za­zio­ne

Di seguito, esa­mi­nia­mo in dettaglio i migliori software di VM. Il confronto non include gli hy­per­vi­sor bare metal come ESXi e Xen, né gli strumenti per la pura vir­tua­liz­za­zio­ne dei container, quali Docker, Ku­ber­ne­tes e OpenShift. Ti pre­sen­tia­mo i programmi di VM per gli utenti, rag­grup­pa­ti per sistema operativo guest. Occorre con­si­de­ra­re che i costi delle con­tro­par­ti del software di VM in ese­cu­zio­ne sul server possono essere più elevati per via delle di­men­sio­ni.

I migliori programmi di VM per Windows

In passato, Windows era piuttosto carente in termini di vir­tua­liz­za­zio­ne; Linux, infatti, è sempre stato il “pezzo grosso” della vir­tua­liz­za­zio­ne. Nel frattempo, sono stati fatti con­si­de­re­vo­li progressi. Ad esempio, “Hyper-V” di Microsoft è parte in­te­gran­te delle moderne versioni di Windows. Questa tec­no­lo­gia è anche alla base del “sot­to­si­ste­ma Windows per Linux 2” (WSL/WSL2). L’ese­cu­zio­ne di varie di­stri­bu­zio­ni Linux con Windows in macchine virtuali ad alte pre­sta­zio­ni si rivela molto utile, so­prat­tut­to per gli svi­lup­pa­to­ri e le svi­lup­pa­tri­ci.

L’uso di software di vir­tua­liz­za­zio­ne risulta utile spe­cial­men­te con Windows. Per decenni, infatti, questo on­ni­pre­sen­te sistema operativo è stato tor­men­ta­to da conflitti di driver, virus e trojan. L’uso di macchine virtuali (VM) permette di lavorare in sicurezza in ambienti isolati. Ad esempio, puoi gestire il tuo online banking in­te­ra­men­te in un ambiente Linux in cui l’assenza di virus è garantita. Inoltre, le VM offrono la pos­si­bi­li­tà di creare istan­ta­nee che, in caso di danni al sistema, per­met­to­no di ritornare a uno stato iniziale sicuro in modo semplice.

Microsoft Hyper-V Manager

Immagine: Schermata del sito di Hyper-V Manager
Hyper-V è integrato come programma di VM in Windows 10. Fonte: https://docs.microsoft.com/en-us/vir­tua­li­za­tion/hyper-v-on-windows/

Hyper-V Manager di Microsoft fa parte di Windows Server 2008 e delle versioni suc­ces­si­ve di Windows. Questo software di vir­tua­liz­za­zio­ne consente la gestione di macchine virtuali (VM) sulle edizioni En­ter­pri­se, Pro­fes­sio­nal ed Education di Windows 10 e può essere uti­liz­za­to gra­tui­ta­men­te, anche se po­treb­be­ro esserci dei costi associati alla licenza di Windows 10.

Hyper-V Manager è uti­liz­za­to per la gestione degli host Hyper-V e delle macchine virtuali, che possono essere situati in locale o su macchine remote. Un’in­ter­fac­cia grafica permette di lavorare co­mo­da­men­te con ambienti virtuali da una piat­ta­for­ma centrale.

VMware Work­sta­tion Pro

Immagine: Schermata del sito di VMware Workstation Pro
VMware Work­sta­tion Pro è un potente software VM. Fonte: https://www.vmware.com/products/work­sta­tion-pro.html

Il software di vir­tua­liz­za­zio­ne “Work­sta­tion Pro” del gigante della vir­tua­liz­za­zio­ne VMware è rivolto ai pro­fes­sio­ni­sti IT, agli svi­lup­pa­to­ri, alle svi­lup­pa­tri­ci e alle aziende. Questo programma di VM consente la vir­tua­liz­za­zio­ne della maggior parte dei sistemi operativi x86 su un normale computer desktop, come pure l’accesso a distanza ad ambienti vSphere remoti. Ma non si limita solo a questo.

Work­sta­tion Pro agevola il processo di sviluppo, test e le pre­sen­ta­zio­ni software su una vasta gamma di di­spo­si­ti­vi, piat­ta­for­me e cloud. Il software di vir­tua­liz­za­zio­ne permette la con­fi­gu­ra­zio­ne di reti virtuali e altre risorse vir­tua­liz­za­te. Inoltre, i container OCI (Open Container Ini­tia­ti­ve) locali e i cluster Ku­ber­ne­tes possono essere gestiti con l’iso­la­men­to delle VM. In aggiunta all’in­ter­fac­cia grafica, è di­spo­ni­bi­le lo strumento a riga di comando “vctl”. In questo modo, i flussi di lavoro possono essere au­to­ma­tiz­za­ti.

Come si verifica di consueto con i programmi di VM, le istan­ta­nee delle macchine virtuali possono essere create e ri­pri­sti­na­te in un secondo momento. Inoltre, questo programma di vir­tua­liz­za­zio­ne può essere uti­liz­za­to per gestire un secondo desktop, che risulta altamente sicuro grazie a im­po­sta­zio­ni di privacy e di rete più rigide. Il supporto delle tec­no­lo­gie 3D DirectX 11 e OpenGL 4.3 all’interno delle VM è par­ti­co­lar­men­te utile per vi­deo­gio­chi e ap­pli­ca­zio­ni grafiche so­fi­sti­ca­te.

No­no­stan­te l’elevata gamma di fun­zio­na­li­tà, questo software VM è piuttosto ac­ces­si­bi­le, avendo un prezzo intorno ai 200 €, mentre gli studenti attuali e futuri di college o uni­ver­si­tà, i loro genitori, i docenti e il personale di enti educativi hanno diritto a uno sconto. È inoltre di­spo­ni­bi­le una versione di prova, che può essere uti­liz­za­ta gra­tui­ta­men­te per 30 giorni.

Oracle Vir­tual­Box

Immagine: Schermata del sito di Oracle VirtualBox
Oracle Vir­tual­Box è un software VM gratuito e open source. Fonte: https://www.vir­tual­box.org/

“Vir­tual­Box” di Oracle è il prodotto di punta dei software di vir­tua­liz­za­zio­ne. Questo programma permette di usare fa­cil­men­te le macchine virtuali (VM) dal computer di casa e, anche se l’in­ter­fac­cia utente sembra leg­ger­men­te obsoleta per gli standard odierni, è sempre stato sod­di­sfa­cen­te per via della sua facilità d’uso e dell’alto livello di comfort che offre. Inoltre, Vir­tual­Box è un “Free and Open Source Software” (FOSS), una ca­rat­te­ri­sti­ca unica per i programmi di VM dei fornitori com­mer­cia­li.

Vir­tual­Box è alla base del fun­zio­na­men­to di macchine virtuali su un sistema host ed è spesso usato in com­bi­na­zio­ne con altri software spe­cia­liz­za­ti. Ad esempio, il popolare strumento “Vagrant” au­to­ma­tiz­za la creazione di ambienti di sviluppo ri­pro­du­ci­bi­li. Funge da in­ter­fac­cia tra i software di vir­tua­liz­za­zio­ne, come Vir­tual­Box, VMware, Hyper-V e Docker, e i software di pro­vi­sio­ning, come Puppet, Chef e Ansible.

I migliori software di VM per Mac

In linea di principio, il software di vir­tua­liz­za­zio­ne permette l’ese­cu­zio­ne di un sistema operativo guest su un sistema operativo host. In questo modo è possibile avviare una di­stri­bu­zio­ne Linux dal desktop di Windows oppure gestire un’in­stal­la­zio­ne di Windows da Linux. Tuttavia, Mac presenta una ca­rat­te­ri­sti­ca speciale: in quanto sistema guest, macOS può essere uti­liz­za­to (le­gal­men­te) solo su un host macOS.

VMware Fusion Pro

Immagine: Schermata del sito di VMware Fusion Pro
VMware Fusion Pro è un potente software di VM per Mac. Fonte: https://www.vmware.com/products/fusion.html

“Fusion Pro” del fornitore VMware rap­pre­sen­ta grosso modo la con­tro­par­te Mac di VMware Work­sta­tion, pre­sen­ta­to sopra. Questo programma di VM è diventato molto popolare perché per­met­te­va l’ese­cu­zio­ne di Windows su Mac. Quando il software di vir­tua­liz­za­zio­ne venne lanciato nel 2007 era già sen­sa­zio­na­le 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 vir­tua­liz­za­zio­ne include fun­zio­na­li­tà per la creazione, la gestione e l’ese­cu­zio­ne di container OCI e cluster Ku­ber­ne­tes. È in questo contesto che entrano in gioco l’elevata sicurezza e il forte iso­la­men­to delle macchine virtuali. Ciò permette di eseguire e testare uno stack cloud completo su un singolo Mac.

Con la fun­zio­na­li­tà di snapshot integrata, è possibile ritornare a punti di ar­chi­via­zio­ne sicuri, se ne­ces­sa­rio. L’in­ter­fac­cia grafica consente inoltre la con­nes­sio­ne a server vSphere ed ESXi remoti. Le macchine virtuali (VM) e gli host fisici possono essere con­trol­la­ti e gestiti, le VM vengono sem­pli­ce­men­te spostate tra gli host tramite la funzione di drag and drop.

Il costo per l’acquisto di una licenza è at­tual­men­te pari a circa 200 € e l’ag­gior­na­men­to di una licenza esistente è di­spo­ni­bi­le a circa la metà del prezzo. Come il suo “fratello maggiore”, Work­sta­tion Pro di VMware, anche Fusion Pro può essere testato gra­tui­ta­men­te per 30 giorni.

Parallels Desktop per Mac

Immagine: Schermata del sito di Parallels Desktop per Mac
Parallels Desktop è il classico programma di VM per Mac. Fonte: https://www.parallels.com/products/desktop/

Oltre a VMware Fusion, “Parallels Desktop per Mac” è il classico programma VM per Mac. Gli svi­lup­pa­to­ri, le svi­lup­pa­tri­ci e gli utenti possono così lavorare con diversi sistemi operativi su Mac senza dover impostare una con­fi­gu­ra­zio­ne dual boot. Usando questo software di vir­tua­liz­za­zio­ne, i frequenti riavvii diventano superflui.

Parallels Desktop è for­te­men­te in­cen­tra­to sulla fornitura di un ambiente desktop Windows che funziona “in parallelo” con macOS. Questo programma di vir­tua­liz­za­zio­ne permette lo spo­sta­men­to e la con­di­vi­sio­ne di contenuti in modo continuo tra Mac e Windows. Grazie alla co­sid­det­ta “Coherence Mode”, le ap­pli­ca­zio­ni Windows possono essere uti­liz­za­te come ap­pli­ca­zio­ni Mac.

Il prezzo per l’acquisto di una licenza è di circa 100 €, che rientra nella gamma più bassa dei programmi VM com­mer­cia­li. Gli utenti privati e gli studenti hanno diritto a uno sconto; l’ag­gior­na­men­to di una licenza esistente costa circa 50 €.

Oracle Vir­tual­Box

In passato il programma VM Vir­tual­Box, descritto sopra, era com­pa­ti­bi­le anche con macOS. In tal senso, vi erano alcune li­mi­ta­zio­ni: come sistema operativo guest poteva essere uti­liz­za­to solo Mac OS X Server nelle versioni Leopard o Snow Leopard. Purtroppo, Vir­tual­Box supporta Mac solo fino alla versione macOS 10.15 “Catalina”. I Mac moderni non sono affatto sup­por­ta­ti da questo software di vir­tua­liz­za­zio­ne. Ciò è dovuto al fatto che Vir­tual­Box richiede un hardware x86 e quindi non è com­pa­ti­bi­le con i nuovi chip “Apple Silicon” basati su ARM.

I migliori software di VM per Linux

Il sistema operativo gratuito Linux è per così dire il “brodo pri­mor­dia­le” da cui è emersa la tec­no­lo­gia della vir­tua­liz­za­zio­ne. Og­gi­gior­no, gli elementi basilari per la vir­tua­liz­za­zio­ne sono pro­fon­da­men­te in­cor­po­ra­ti nel kernel del sistema operativo. Ciò si traduce nel più ampio spettro di programmi di VM per gli utenti. Oltre a numerose soluzioni di­spo­ni­bi­li gra­tui­ta­men­te, vi sono anche alcune opzioni com­mer­cia­li.

KVM

Immagine: Schermata del sito di KVM
KVM è un software di VM, integrato nel kernel Linux. Fonte: https://www.linux-kvm.org/

L’in­fra­strut­tu­ra di vir­tua­liz­za­zio­ne “Kernel-based Virtual Machine” (KVM) è ancorata nel kernel di Linux come tec­no­lo­gia di vir­tua­liz­za­zio­ne di base. Con l’ausilio di KVM, il kernel diventa un hy­per­vi­sor su cui vengono eseguite macchine virtuali Linux e Windows. Oltre all’hardware x86, sono sup­por­ta­ti anche i pro­ces­so­ri PowerPC e alcuni ARM. Se di­spo­ni­bi­le, viene uti­liz­za­to Intel VT-x oppure AMD-V per mi­glio­ra­re le pre­sta­zio­ni delle macchine virtuali a livello di pro­ces­so­re.

KVM consente di gestire diverse macchine virtuali (VM) su un host Linux. A ogni VM viene assegnato il proprio hardware vir­tua­liz­za­to. Oltre ai core del pro­ces­so­re e alla RAM, sono inclusi anche gli adat­ta­to­ri di rete e grafici e la memoria di massa. Le immagini delle macchine virtuali Linux e Windows non mo­di­fi­ca­te sono uti­liz­za­te per con­fi­gu­ra­re le macchine virtuali.

Vi sono molti altri programmi di vir­tua­liz­za­zio­ne dell’universo Linux basati su KVM. Sono dunque di­spo­ni­bi­li svariate in­ter­fac­ce utente che per­met­to­no di gestire le macchine virtuali (VM). Sul desktop, come in­ter­fac­cia grafica, è presente il “Virtual Machine Manager”. La KVM e le VM ospitate sono ac­ces­si­bi­li tramite il browser con “Kimchi” o “Foreman”. Vi sono anche in­ter­fac­ce a riga di comando che possono essere adoperate per au­to­ma­tiz­za­re i flussi di lavoro usati con maggiore frequenza. KVM è con­trol­la­to in back­ground tramite l’API libvirt.

QEMU

Immagine: Schermata del sito di QEMU
QEMU è un complesso programma di VM. Fonte: https://www.qemu.org/

“Quick Emulator” (QEMU) è un complesso software di vir­tua­liz­za­zio­ne. Oltre alla vir­tua­liz­za­zio­ne completa dell’hardware x86, il programma è anche in grado di emulare altre ar­chi­tet­tu­re di pro­ces­so­ri. Ciò consente l’ese­cu­zio­ne di file binari che sono stati scritti per pro­ces­so­ri non fi­si­ca­men­te presenti nel sistema. È anche possibile tradurre ed eseguire singoli programmi in tempo reale.

Per im­po­sta­zio­ne pre­de­fi­ni­ta, QEMU è integrato con altri programmi di VM. Questo software di vir­tua­liz­za­zio­ne può essere uti­liz­za­to con hy­per­vi­sor come Vir­tual­Box, KVM e Xen. Tramite l’impiego di “ac­ce­le­ra­to­ri” basati sull’hardware, si ottengono pre­sta­zio­ni quasi native durante l’ese­cu­zio­ne di macchine virtuali. Lo strumento è gratuito ed è di­spo­ni­bi­le con una licenza open source.

OpenVZ

Immagine: Schermata del sito di OpenVZ
OpenVZ è un software per la vir­tua­liz­za­zio­ne di Linux. Fonte: https://openvz.org/

Con OpenVZ gli utenti Linux possono godere di un software di vir­tua­liz­za­zio­ne molto in­te­res­san­te. Il progetto open source è emerso dallo sviluppo del software com­mer­cia­le “Virtuozzo”. Il nome sta anche per “Open Virtuozzo”. At­tual­men­te OpenVZ funge da com­po­nen­te di base open source del segmento com­mer­cia­le.

Ciò che rende OpenVZ speciale è l’assenza di un hy­per­vi­sor. La vir­tua­liz­za­zio­ne avviene a livello di sistema operativo. In altri termini, si uti­liz­za­no i container. Tuttavia, non viene eseguito nessun container di ap­pli­ca­zio­ni, come avviene per Docker. Al contrario, OpenVZ vir­tua­liz­za più sistemi operativi, re­ci­pro­ca­men­te isolati, basati su un singolo kernel Linux ap­po­si­ta­men­te adattato. L’uso di OpenVZ è par­ti­co­lar­men­te utile per il con­so­li­da­men­to delle risorse del server.

VMware Work­sta­tion Pro

Il software di vir­tua­liz­za­zio­ne Work­sta­tion Pro di VMware, già pre­sen­ta­to, è di­spo­ni­bi­le anche per Linux. La fun­zio­na­li­tà è pa­ra­go­na­bi­le alla versione Windows del software. Tuttavia, vi sono alcune pe­cu­lia­ri­tà spe­ci­fi­che di Linux. Anziché DirectX, che è di­spo­ni­bi­le solo con Windows, è sup­por­ta­to il motore di rendering “Vulkan”. È possibile eseguire una vasta gamma di di­stri­bu­zio­ni Linux e Unix, quali Ubuntu, CentOS, Debian, Fedora, RHEL e SUSE, come sistema operativo guest.

Oracle Vir­tual­Box

Vir­tual­Box è l’unico programma VM descritto in questo articolo che può essere eseguito anche su Linux, oltre che su Windows e macOS (ad eccezione dei Mac moderni). La fun­zio­na­li­tà è simile alla versione per Windows.

Vai al menu prin­ci­pa­le