Dopo la notizia dell’acquisizione di XenSource da parte di Citrix, si è scatenata una guerra mediatica sul futuro della virtualizzazione. Ma in effetti quali sono le differenze tra VMWare e Xen?In effetti ci sono due filosofie di virtualizzazione diverse tra loro, ma che alla fine ci danno lo stesso risultato: poter far girare più istanze virtuali sullo stesso host fisico.
La virtualizzazione esiste nell’informatica fin dagli albori: si parlava già di virtualizzazione sui mainframe IBM agli inizi degli anni ’60 per poter sfruttare al meglio il costosissimo hardware di allora.
Sul mondo x86 i primi prodotti di virtualizzazione si sono da subito basati sulla Full Virtualization, ovvero una virtual machine che emula tutto l’hardware necessario per far girare un sistema operativo ospite senza bisogno che questo venga modificato. VMWare utilizza questo tipo di approccio, ovviamente con una serie di ottimizzazioni legate all’accesso ad alcune risorse, in particolare alla cpu, alla memoria, alle schede di rete e ai dishi. In questo modo è possibile rendere virtuali sistemi basati su Windows, Novell, Linux ed anche altri sistemi che funzionano su piattaforma x86.
Nel caso di Xen si parla invece di paravirtualizzazione (paravirtualization) e cioé di una macchina virtuale che non deve necessariamente emulare tutto l’hardware, ma che fornisce una serie di API (Application Program Interface) per l’utilizzo dei device. Questo implica che il sistema operativo della macchina virtuale debba essere modificato per poter funzionare correttamente, cosa non possibile in ambienti Microsoft.
La virtualizzazione ha avuto un’evoluzione anche da parte dei produttori di hardware, in particolare da Intel e AMD che hanno introdotto due estensioni alle istruzioni dei loro processori (Intel VT e AMD-V) che permettono di gestire al meglio e in modo trasparente la virtualizzazione del codice. Tramite queste implementazioni anche prodotti basati sulla paravirtualizzazione sono in grado di far girare sistemi operativi senza bisogno di apportare modifiche: XenSource, dalla versione 3.0.3, è in grado di far funzionare macchine virtuali Microsoft.
Per approfondimenti (in ordine alfabetico):