VMware Player: approccio semplice alla virtualizzazione

VMware ha recentemente distribuito VMware Player: un applicativo gratuito che permette di eseguire su un qualsiasi pc una macchina virtuale preconfigurata. Questo tool può essere l'occasione per avvicinarsi al complicato ambito delle vrtual machine, soluzioni che in futuro saranno sempre più comuni
di Fabio Boneschi pubblicato il 10 Aprile 2006 nel canale ProgrammiCos'è una Virtual Machine
Per capire le possibilità offerte da una virtual machine occorre definire in modo chiaro cosa si intende con tale terminologia.Con virtual machine si intende un ambiente software emulato su un pc; in tale ambiente può essere eseguito un sistema operativo con relative applicazioni. Il particolare fondamentale è che possono essere avviate varie istanze, varie Virtual Machine contemporaneamente sul medesimo sistema hardware.
La Virtual Machine emula un ambiente in cui verranno installati altri software, mentre al Virtual Machine Monitor viene affidato il delicato compito di far dialogare l'istanza emulata con il vero sistema operativo e con il relativo hardware.
Quanto appena esposto si traduce nella possibilità di avere attive istanze di sistemi operativi differenti: su una macchina Windows sarà possibile avviare una VM dedicata all'esecuzione di Linux e di un particolare servizio, oppure potranno essere avviate varie istanze per simulare e sviluppare complesse strutture server. Va precisato che il sistema operativo principale può essere anche Linux, mentre le istanze create possono essere Windows; secondo gli esperti questa possibilità, grazie alle caratteristiche di ottimizzazione offerte dal pinguino, è quella che garantisce il miglior utilizzo di risorse.
Il vantaggi legati alle fasi di sviluppo sono facilmente immaginabili: utilizzando una Virtual Machine non si ha l'esigenza di costruire svariate macchine fisiche per i test, anzi commutare da una configurazione all'altra sarà praticamente un'azione istantanea. Un grosso limite all'uso delle virtual machine è però individuabile nelle risorse hardware necessarie a garantire un funzionamento fluido e veloce.
I componenti più critici sono il processore e la memoria ram; tali componenti vengono condivisi dal sistema operativo principale e da tutte le VM attive in un determinato momento. Va altresì rilevato che alcune Virtual Machine prevedono l'allocazione di un certo quantitativo di risorse alla loro attivazione, indipendentemente dalle reali esigenze elaborative.
Dalle note precedenti si deduce che un sistema su cui si desideri avviare più macchine virtuali deve poter garantire elevate prestazioni, mettendo a disposizione un discreto quantitativo di memoria ram e una cpu sufficientemente veloce. Fortunatamente i pc di recente fabbricazione appartenenti alla fascia media del mercato riescono a garantire i requisiti hardware necessari all'emulazione di un ambiente.
Il concetto di macchina virtuale non è recente e fino a qualche tempo fa apparteneva esclusivamente al mondo degli sviluppatori o degli ambienti server. Le crescenti potenzialità hardware dei pc e il costante impegno di VMware, di Microsoft e della comunità XEN, ha reso disponibili tali strumenti anche per sistemi desktop, concretizzando nuove e interessanti ambiti di utilizzo.
In ambiente server si parla di consolidamento della struttura facendo riferimento alla centralizzazione di vari servizi su un unico server: i differenti servizi vengono eseguiti da varie virtual machine eseguite dalla stessa macchina fisica. Una soluzione di questo tipo permette un razionale sfruttamento dell'hardware, permettendo di ottimizzare la gestione delle risorse in funzione delle esigenze istantanee. Prevedere inoltre una struttura ridondante diventa decisamente semplice poichè a livello fisico si tratta di replicare una singola macchina, su cui ovviamente andranno clonate le opportune istanze virtuali.
Quella appena presentata non è una grande novità, in quanto da tempo i concetti di virtualizzazione e di consolidamento sono una realtà affermata per sviluppatori e aministratori di sistema, ma la virtualizzazione di un ambiente potrebbe rivelarsi utile anche per impieghi meno evoluti. Immaginiamo ad esempio la possibilità di avere su una workstation varie macchine virtuali destinate a specifici utilizzi del sistema come ad esempio produttività personale, intrattenimento e connettività. Tali macchine virtuali potrebbero essere avviate in contemporanea ed emulare varie istanze di uno stesso o di differenti sistemi operativi , offrendo dei requisiti di sicurezza decisamente elevati.