Ultimamente sento parlare sempre più spesso di Macchine virtuali e Virtualizzazione ( a volte anche a sproposito ) ma ritengo che non siano molto chiari gli ambiti nei quali questo tipo di tecnologia possa portare dei vantaggi.
Questi sono quelli nei quali propongo una soluzione “virtuale??? …
1. Sviluppo, test e debug
In questo ambito poter testare la propria applicazione su diverse piattaforme senza dover avere dell’hardware dedicato ha due tipi di vantaggi: economico e logistico.
Pensiamo al caso di un software che vede garantire compatibilità sotto windows 98, windows me e windows 2000, ma dove a disposizione abbiamo solo il nostro pc con windows xp o linux.
Potremmo creare n partizioni, ma per esperienza personale posso garantirvi che poterle simulare è decisamente più comodo.
Stesso discorso per le applicazioni web che sarebbe sempre e comunque meglio testare sotto diversi browser e piattaforme.
2. Formazione e sperimentazione
Dove la configurazione di sistemi operativi e/o applicazioni potrebbe compromettere la nostra macchina o la rete aziendale.
3. Virtualizzazione di servizi
Premesso che per ogni realtà è necessario fare le valutazioni appropriate, alcuni servizi come dhcp, smtp, faxserver e webserver se usati sporadicamente potrebbero trovare nella virtualizzazione una soluzione pratica e veloce per garantire forte scalabiltà e ripristino veloce in caso di problemi sull’host .
Nel caso sia necessaria più potenza elaborativa potremmo spostare in modo veloce le macchine virtuali ( senza doverle riconfigurare ) su pc più performanti mentre nel caso ripristino di un sistema dovuto a problemi hardware avremmo il vantaggio di dovere riconfigurare un solo pc.
Da non trascurare il fatto che, se decidessimo di usare più macchine virtuali per separare i vari servizi, avremmo anche una separazione dei punti critici.
In pratica, in caso di problemi su un servizio ( quindi su una macchina virtuale ), gli altri ( servizi ) dovrebbero continuare a funzionare essendo installati “virtualmente??? su altre macchine.
4. Affitto o vendita di macchine Virtuali
Nel caso in cui sia necessario fornire servizi ( come l’hosting per web ) con un altro grado di personalizzazione ma con un limitato utilizzo di cpu e disco, l’affitto di una macchina virtuale abbassa notevolmente i costi di gestione garantendo comunque una completa amministrazione remota, inoltre in questo modo il rischio di malfunzionamenti hardware va a ricadere sul fornitore del servizio
Mi permetto a questo punto da dare alcuni consigli per ottimizzare le prestazioni:
1. Usare dischi scsi nelle macchine virtuali in quanto il controller ( per quanto simulato ) subisce le ottimizzazioni tipiche della tecnologia scsi ( letture e scritture contemporanee )
2. Dischi virtuali di dimensione fissa ( il ridimensionamento a runtime porta un inutile degrado delle prestazioni )
3. Non assegnare alla macchina virtuale più memoria di quella disponibile sulla macchina host in quanto la simulazione della ram ( oltre la disponibilità fisica ) verrebbe gestita tramite swap su disco. La memoria disponibile va calcolata tenendo in considerazione anche la memoria occupata della virtualizzazione e dai servizi di base della macchina host.
( Questa caratteristica non è presente in tutti i software di virtualizzazione. )
Per finire un breve elenco dei principali software di virtualizzazione
1. Microsoft Virtual PC e Microsoft Virtual Server ( commerciale )
2. VmWare ( Commerciale )
3. Vmware Player ( Gratuito )
4. Bochs ( opensource )
5. Qemu ( opensource )
Ultima nota: Per le piattaforme commerciali sono disponibili dei software per una migrazione assistita di una macchina fisica su una macchina virtuale.
Ottima guida, chiara e semplice! Bravo, anche se datata è ancora attuale
grazie 😉