Progettazione “in cloud” e “on site”
Cos’è la virtualizzazione dei server?
Con i sistemi di virtualizzazione si indica la possibilità di astrarre alcuni servizi IT dalle rispettive dipendenze (reti, sistemi di storage e hardware), abilitando l’esecuzione di più sistemi operativi virtuali su una singola macchina fisica, rimanendo però distinti. Il sistema operativo “ospitante” (l’host) crea di fatto una sorta di hardware partizionato eseguendo più sistemi operativi “ospiti” (i guest). Di fatto la parte inferiore dello stack software è occupata da una singola istanza di un sistema operativo ordinario che è installato direttamente sul server. Sopra di questo, un layer di virtualizzazione gestisce il reindirizzamento e l’emulazione che va a sua volta a comporre il computer virtuale. La combinazione di questi due layer inferiori viene quindi definita host. Quest’ultimo fornisce le varie caratteristiche del computer fino al livello del BIOS ed è in grado di generare macchine virtuali (e indipendenti) a scelta, basandosi sulle configurazioni definite dall’utente.
I vantaggi della virtualizzazione
Questi sono solo alcuni dei vantaggi di una soluzione di virtualizzazione ben progettata:
- Riduce i costi di implementazione e gestione consolidando l’hardware
- Riduce il consumo energetico dell’intero Datacenter
- Alloca le risorse dinamicamente quando e dove necessario
- Riduce in modo drastico il tempo necessario alla messa in opera di nuovi sistemi
- Isola l’architettura nel suo complesso da problemi a livello di sistema operativo e applicativo
- Abilita una gestione più semplice delle risorse eterogenee
- Facilita testing e debugging di ambienti controllati
Un vantaggio innegabile della struttura virtualizzata è la possibilità di fare un backup realmente completo della macchina, comprese quindi le impostazioni del sistema operativo, che tante volte sono la parte più critica da ripristinare su alcuni server.
Un ulteriore importante vantaggio è la grande semplicità con cui è possibile gestire l’evoluzione tecnologica. Se un sistema hardware diventa obsoleto è possibile migrare in maniera abbastanza facile i server su macchine di ultima generazione (tra l’altro guadagnando in performance) senza dover reinstallare tutto, ma solamente reinstallando lo strato emulato e ripristinando i file delle macchine virtuali. Senza contare la possibilità di eseguire test fuori linea in modo molto semplice, per rendere ancora più lineare la migrazione.
L’esigenza di virtualizzare i sistemi nasce dalla consapevolezza che un server virtuale sfrutta molto meglio le risorse a sua disposizione – processori, memoria, disco – rispetto a un server fisico, soprattutto nel caso di configurazioni in alta affidabilità con un server attivo e uno passivo. Inoltre, potrebbe essere la soluzione per quelle aziende che hanno CED di piccole dimensioni, composti da pochi RAC (network, storage e server), senza la possibilità di aggiungere altri armadi e condizionatori.
Come funziona
Sistemi operativi e applicazioni che girano sui server virtuali non hanno il controllo diretto su risorse quali memoria, dischi fissi e porte di rete. E’ invece la macchina virtuale che si trova tra di essi a intercettare le richieste di interazione con l’hardware. Sul mercato ci sono soluzioni che sono in grado di “simulare” una configurazione che ha solo una vaga somiglianza con l’hardware effettivamente sottostante. Ad esempio, l’host potrebbe inizializzare il processo di un controller SCSI fino al minimo dettaglio, convincendo il sistema operativo guest, anche senza l’esistenza reale di alcun controller SCSI. Di fatto è fa sembrare i drive di tipo IDE come se si trattassero di SCSI, converte le condivisioni di rete riguardo lo storage collegato localmente, converte un singolo adattatore Ethernet in più adattatori e crea gateway tra sistemi operativi più vecchi e hardware moderni non supportati, come ad esempio per gli adattatori Fibre Channel.