La virtualizzazione dei server è uno degli argomenti più caldi  di questi anni. Molte aziende stanno già affrontando la loro seconda ondata di virtualizzazione che spesso si traduce in una rivisitazione radicale di quello che è stato fatto negli anni passati per correggere errori e, magari, aggiornare l’infrastruttura con gli ultimi trend tecnologici. L’obiettivo di questa breve serie di articoli è quello di sottolineare alcuni aspetti di base per chi si avvicina per la prima volta alla virtualizzazione ma anche di ricordare, a chi ha già intrapreso questo percorso, alcuni punti focali per migliorare il più possibile la propria infrastruttura.

un cenno storico

La virtualizzazione dei server non è nata nel mondo x86. I primi hypervisor (anche se all’epoca non si chiamavano così) sono nati negli anni 60 sui mainframe!

Già, quello che oggi viene chiamato z/OS (il sistema operativo di IBM per i suoi mainframe) aveva funzionalità di virtualizzazione già all’epoca. Negli anni, poi, altri sistemi operativi, come ad esempio alcuni Unix, hanno aggiunto funzionalità di virtualizzazione (software o HW+SW) che emulavano in parte quanto già visto in precedenza. La virtualizzazione nacque in primo luogo per ottimizzare l’uso delle risorse di sistemi costosi e male utilizzati ma fu parzialmente abbandonata negli anni 80/90. durante l’era dei PC e delle applicazioni client/server.

Vmware, azienda leader nella produzione di software per la virtualizzaizone, ha avuto il grande merito di sviluppare per prima (nel 1999) questa tecnologia su hardware standard x86. Fra gli anni 90 e i primi del 2000 ci si rese conto che la proliferazione di server X86 sottoutilizzati (spesso 1 Server = 1 S.O. = 1 Applicazione) stava portando ad una impennata dei costi per gestire l’IT non più affrontabili ed è qui che aziende come VMware trovarono i loro sostenitori.

Negli ultimi anni l’hypervisor di VMware è stato affiancato da molte altre soluzioni concorrenti: Microsoft Hyper-VCitrix Xen e altre. Ognuna di queste ha vantaggi e svantaggi che vedremo negli articoli successivi.

perchè virtualizzare

La virtualizzazione porta dei vantaggi indiscutibili:

  • Migliora sensibilmente i livelli di utilizzo dell’infrastruttura: E’ molto improbabile che una singola applicazione possa occupare tutte le risorse messe a disposizione da un hardware fisico per tutto il tempo. Il meccanismo della virtualizzazione, con la possibilità di creare tanti server virtuali, permette di utilizzare in maniera molto più efficiente le risorse a disposizione allocando le risorse dove servono e quando servono.
  • Diminuisce i costi dell’infrastruttura: come conseguenza del punto precedente, se ho la possibilità di ottimizzare al meglio l’uso delle risorse hardware a disposizione avrò bisogno di meno risorse hardware da comprare e gestire!
  • Diminuisce i costi di gestione: ancora una volta, meno hardware significa abbattere i costi di gestione ma non solo. La virtualizzazione porta con se strumenti molto sofisticati che permettono una semplificazione importante di molte attività tecniche che vanno dalla più banale fornitura di un nuovo server, al backup, alla creazione di ambienti di test, ecc.
  • Migliora i livelli di servizio: Una infrastruttura virtuale porta con se una serie di vantaggi non indifferenti dal lato del livello di servizio, esistono molti meccanismi che permettono di reagire prontamente ad un intervento pianificato o ad un problema hardware, al ripristino di un server virtuale danneggiato o anche a prevenire e ripristinare il servizio a fronte di un disastro.

La virtualizzazione dei server ha quindi molti aspetti positivi che aumentano la semplicità operativa del datacenter, ne aumentano la sicurezza, ne diminuiscono i costi. Ovviamente, più il datacenter è grande e più i vantaggi sono evidenti ma anche chi ha pochi server troverà sempre più vantaggioso virtualizzare piuttosto che dover aggiungere hardware fisico alla propria infrastruttura.

prima di iniziare

Virtualizzare è facile! (troppo facile, aggiungerei). Questo è il messaggio che spesso arriva da chi “vende la virtualizzazione” ma le cose non stanno proprio così. Spesso incontro clienti che hanno infrastrutture mai progettate e mal cresciute da una prima implementazione di “valutazione” che, nel tempo, è diventato test, poi sviluppo e poi, magari, produzione! Certo, funziona tutto, ma come funziona? Con questo tipo di approccio si vanno a eliminare, almeno in parte, tutti i principali motivi per i quali si inizia a virtualizzare: ottimizzazione, diminuzione dei costi, facilità di gestione, migliorare i livelli di servizio.

Prima di virtualizzare è importante progettare l’infrastruttura che ospiterà le macchine virtuali. Gli hypervisor moderni hanno un numero di funzionalità impressionanti che, se male utilizzate, possono minare la scalabilità, la sicurezza e anche le performance. Inoltre, con una profonda e chiara conoscenza delle architetture, delle best practices e delle tecnologie, è possibile garantire una crescita sicura dell’infrastruttura senza spiacevoli disservizi che sicuramente potrebbero verificarsi.

Per ottenere una infrastruttura virtuale efficiente è sempre fondamentale fare un progetto che preveda una analisi dettagliata di tutto quanto è già in opera all’interno del datacenter. Nessun aspetto deve essere sottovalutato: networking e sicurezza, storage, risorse di calcolo e memoria, applicazioni, sistemi operativi, processi, ecc. Sottovalutare anche uno solo degli aspetti menzionati e progettare una nuova infrastruttura virtuale meno efficiente e performante della precedente sarebbe un fallimento poco raccomandabile a chiunque.

Questo è solo l’inizio! Nel prossimo articolo: non tutto è virtualizzabile, la scelta dell’ hypervisor, il management di base.