Il giusto motore per la propria cloud, l’hypervisor

L'architettura del cloud computing prevede uno o piu server reali, organizzati in modo da garantire alta affidabilita. I server sono fisicamente collocati presso il data center del fornitore del servizio, che espone delle interfacce per elencare e gestire i propri servizi realizzati mediante server virtuali. Il cliente amministratore utilizza queste interfacce per selezionare il servizio richiesto (ad esempio un server virtuale completo oppure solo storage) e per amministrarlo (configurazione, attivazione, disattivazione), mentre il cliente finale utilizza il servizio configurato dal cliente amministratore.

L’architettura del cloud computing prevede uno o più server reali, organizzati in modo da garantire alta affidabilità. I server sono fisicamente collocati presso il data center del fornitore del servizio, che espone delle interfacce per elencare e gestire i propri servizi realizzati mediante server virtuali. Il cliente amministratore utilizza queste interfacce per selezionare il servizio richiesto (ad esempio un server virtuale completo oppure solo storage) e per amministrarlo (configurazione, attivazione, disattivazione), mentre il cliente finale utilizza il servizio configurato dal cliente amministratore. Questa in sintesi l’architettura di un cloud.

 

arch-cloud

 

Figura 1: Architettura cloud computing

 

Il cloud computing fa sicuramente ampio uso della virtualizzazione per creare diversi server virtuali su un unico server fisico in grado di poter gestire le richieste di tutti gli utenti. Il concetto su cui si basa tutta l’idea della virtualizzazione è quello di hypervisor. Brevemente vediamo cos’è un hypervisor.

Virtualizzazione ed hypervisor

Il software hypervisor, noto anche come Monitor di macchina virtuale (VMM), ha la responsabilità di astrarre i singoli sistemi operativi (chiamati macchine virtuali o VM), dall’hardware del computer sottostante.

È possibile distinguere tipi fondamentali di software di virtualizzazione. Il primo tipo, chiamato software ‘hosted’, è semplicemente installato su un sistema operativo (SO) general-purpose e permette di eseguire le macchine virtuali con accesso limitato agli I/O (e normalmente senza garanzia di determinismo). VMware Workstation è un esempio di software di virtualizzazione hosted. Il secondo tipo di software, chiamato ‘bare-metal’, è installato ad un livello inferiore e non dipende da un sistema operativo host per la schedulazione o la gestione dell’hardware. Questa tipologia di hypervisor è molto comune nelle applicazioni perché supporta l’esecuzione di sistemi operativi realtime e l’accesso a una più ampia varietà di I/O (come i dispositivi PCI) rispetto al software di virtualizzazione hosted. L’hypervisor fornisce le hypercall per i sistemi operativi guest e le applicazioni. Un hypervisor può essere costituito da un’architettura basata su microkernel come Microsoft Hyper-V, nonché un’architettura monolitica come VMware ESX per la virtualizzazione server.

Un hypervisor basato su microkernel include solo le funzioni di base e non modificabili, come quelle per la gestione della memoria fisica e la pianificazione dei processori). I driver di dispositivo ed altri componenti modificabili non sono controllati dall’hypervisor. Un hypervisor monolitico implementa tutte le funzioni menzionate in precedenza, comprese quelle dei driver di dispositivo; pertanto, la dimensione del codice di un hypervisor basato su microkernel è inferiore a quella di un hypervisor monolitico. Essenzialmente, un hypervisor deve essere in grado di convertire i dispositivi fisici in risorse virtuali dedicate per la macchina virtuale distribuita da utilizzare.

Come scegliere il giusto hypervisor

Un passaggio fondamentale per la configurazione del proprio server cloud è la scelta dell’hypervisor, una scelta che si rivela fondamentale in quanto oltre ad essere il gestore di macchine virtuali e pertanto il componente principale di un sistema basato sulla virtualizzazione delle risorse, come abbiamo già visto, una volta scelto non sarà più possibile cambiarlo in futuro. La scelta dell’hypervisor influisce sulla disponibilità o meno di certi sistemi operativi e sulle loro diverse versioni.

Un consiglio è sicuramente quello di controllare i sistemi operativi supportati per ogni hypervisor proposto. Un altro parametro che può condizionare la scelta dell’hypervisor, è legato alla possibilità di poter importare immagini di macchine virtuali, se già se ne usano localmente: é necessario mantenere l’hypervisor già utilizzato localmente, poiché non è possibile esportare un’immagine creata da un determinato tipo di hypervisor su di uno diverso. Un altro elemento discriminante sono i tools messi a disposizione dagli hypervisor, che si rivelano essere un valido aiuto nella gestione della propria macchina virtuale. Nei tools installati nelle macchine virtuali risiedono componenti fondamentali per la giusta esecuzione del proprio cloud server come ad esempio drivers ottimizzati per i diversi device installati nel server stesso, in quanto oltre a consentire il funziona-mento della macchina virtuale o di alcuni device (compromettendo d’altro canto il funzionamento in caso di eliminazione o disinstallazione), garantiscono anche maggiore velocità e facilità nella gestione di periferiche virtuali.

Le scelte sul mercato

Di hypervisor ce ne sono diversi, ma grosso modo quelli che possono essere considerati stabili ed adatti ad ambienti enterprise (anche per assistenza tecnica, qualità e quantità di risorse che si possono trovare in rete in termini di expertise e supporto di terze parti) sono pochi e di riducono agli hypervisor di VMware e Microsoft con Hyper-V, o KVM (http://www.hostingtalk.it/news/cloud-computing/9310/joyent-cloud-la-sfid…) anche se altri stanno piano piano conquistando quote di mercato http://www.hostingtalk.it/news/virtualizzazione/4998/parallels-finalment…

L’hypervisor di VMware

Quello di VMware è di sicuro l’hypervisor più famoso, ed anche quello che ha la maggior fetta di mercato e che viene pacchettizzato in diverse forme. I motivi che conducono molte aziende a scegliere VMware sono diversi, ma su tutti, spiccano la ricchezza e la qualità delle funzionalità e l’elevato livello di scalabilità. Si trovano inoltre molte soluzioni di terze parti che rendono ogni deploy più facile rispetto a quanto avviene con i prodotti della concorrenza.

virt-vmware

Figura 2: Virtualizzazione di VMware

Già paragonato ad Hyper-V, che vedremo tra poco, VMware mette a disposizione alcune funzionalità aggiuntive, come la possibilità di utilizzare il software VMware vSphere Client per poter gestire contemporaneamente tutti i propri cloud server VMware; la possibilità di creare uno snapshot del proprio cloud server è particolarmente utile qualora si renda necessario creare un punto di ripristino temporaneo e poter riportare il server ad una configurazione sicuramente funzionante. Il problema di VMware è che sebbene sia il prodotto più enterprise del mercato ha un costo che è commisurato alle caratteristiche e quindi anche tale da non poter essere sicuramente sottovalutato. In sintesi le caratteristiche di questo hypervisor possono essere classificate come di seguito:

    • Maggior supporto ai sistemi operativi
    • Schede di rete con connessione 1000 Mbit/s flat con traffico incluso
    • Possibilità di installare VMware vSphere Client
    • Possibilità di importare ed esportare virtual machine in formato .vmdk (anche multipart)
    • Possibilità di effettuare uno Snapshot gratuito
    • Console di Ripristino compatibile con Firefox
    • Storage SAN con tecnologia SAS ridondato e replicato in sincrono
    • CPU garantita, almeno il 50% di un core fisico Intel Xeon
    • Ospitato in struttura cluster con host ridondati

 

Microsoft Hyper-V

Hyper-V è l’unico in grado di tenere il passo seriamente con VMware. Il prodotto dalla sua prima apparizione sul mercato si è evoluto molto, al punto da passare da una situazione di immaturità ed instabilità ad essere un degno concorrente per VMware. Viene fornito in due varianti, la seconda è definita low cost, e dal punto di vista delle funzionalità e del sistema di virtualizzazione non ci sono differenze. Il “distinguo” tra le due versioni è sul piano del costo, delle minori prestazioni di storage e sopratutto per le risorse dedicate alla CPU che non sono garantite. Tuttavia, come nella versione normale di Hyper-V, le risorse dedicate alla RAM sono garantite, il substrato hardware è ridondato e replicato in sincrono.

 

arch-hypv

Figura 3: architettura di Hyper-V

 

Nonostante le poche differenze tra le due versioni di Hyper-V, il costo al quale è proposta la versione low cost è inferiore alla versione normale, con minori garanzie come abbiamo accennato. La versione low cost si rende particolarmente vantaggiosa qualora ci sia la necessità di creare dei cloud cerver di test, per eseguire dei test sulle caratteristiche, per esperimenti oppure per usarlo come ‘muletto’ per qualsiasi tipo di installazione o prova di applicazioni non critiche ma che possano in qualche modo sporcare la configurazione del server. Le caratteristiche di Hyper-V possono essere riassunte in questo elenco: • Minor costo rispetto alle soluzioni VMware

 

    • Schede di rete con connessione 100 Mbit/s flat con traffico incluso
    • Possibilità di importare ed esportare virtual machine in formato .vhd
    • Storage SAN con tecnologia SAS ridondato e replicato in sincrono
    • CPU garantita, almeno il 50% di un core fisico Intel Xeon
    • Ospitato in struttura cluster con host ridondati

 

Una scelta open: KVM

In ultima analisi accenniamo a KVM, un prodotto non ancora completamente maturo, ma che si sta facendo largo nel mercato degli hypervisor, anche grazie ad alcuni suoi sponsor di rilievo, come Red Hat che sta facendo di KVM la base della sua strategia per la virtualizzazione e, considerato il peso di Red Hat nell’open source e come scelta open per tutte quelle strutture che puntano su una riduzione dei costi, come provider con limitate risorse, università, PA e aziende che puntano su linux, si capisce come lo sviluppo che questo hypervisor potrà avere nel futuro sarà notevole. KVM ( Kernel-based Virtual Machine) è composto da un modulo integrato nel kernel linux (dalla release 2.6.20) che permette di sfruttare le estensioni di virtualizzazione dei processori moderni.

 

KVM non effettua nessun tipo di emulazione, si limita ad attivare le estensioni della CPU e a mettere a disposizione dello userspace un dispositivo in grado di riservare le risorse hardware da mettere a disposizione dei sistemi virtuali. La forza di KVM sta nella sua semplicità, il core del sistema di virtualizzazione svolge poche fondamentali operazioni, mentre tutta la parte di emulazione dell’hardware viene demandata a componenti esterne e specializzate come le libvirt o Qemu. A questo però è legato anche il suo punto debole, ovvero la dipendenza da hardware specializzato. KVM riesce ad essere semplice e rapido proprio grazie all’utilizzo delle estensioni speciali inserite nei processori x86 di ultima generazione: AMD-V per i processori AMD e VT-x per i processori Intel, senza le quali KVM non può proprio funzionare.

 

arch-kwm.jpg

 

Figura 4: architettura di KWM

 

Ma KVM ha degli sponsor anche fra alcuni grandi cloud provider, che ne stanno sviluppando versioni specializzate proprio per le loro infrastrutture o che comunque lo stanno supportando sempre più seriamente in tool per il cloud management (es. Openstack, http://www.hostingtalk.it/news/cloud-computing/7510/openstack-la-piattaf…), e quindi ne garantiscono un futuro radioso. Quello che emerge da questo breve confronto, ma anche approfondendo nel dettaglio l’architettura delle soluzioni prese in considerazione, è che VMware continua a rimanere leader non solo per l’hypervisor, che sebbene sia competitivo da un punto di vista puramente tecnologico, non surclassa gli avversari di un tale distacco da giustificarne tutto il successo.

Ciò che fa la differenza con i concorrenti è tutto il resto, dalla parte di management (in cui Microsoft potrebbe competere senza problemi a differenza di KVM), arrivando poi al monitoring, data protection ed automation; per questo motivo rimane ancora un passo avanti a tutti gli altri anche se il divario piano piano si restringe.

Facci sapere cosa ne pensi!

  1. says

    Avevate cominciato bene. Con questa lezione, che mi pare sia la terza, mi pare che abbiate deragliato. [Per inciso: innanzitutto penso che il fatto di non aver numerato le lezioni disorienta il lettore: si tratta del solito difetto delle trattazioni con collegamenti ipertestuali nelle quali, di collegamento in collegamento, si perde il filo del discorso].
    Ma il vero difetto non è questo: La terza lezione sembra scritta da un’altra persona rispetto le precedenti, poichè il numero di parole tecniche specifiche (sigle o abbreviazioni che hanno senso e significato solo per gli specialisti già competenti) è talmente elevato da soffocare completamente il discorso di senso comune. Praticamente per capire il senso del discorso sarebbe necessario interrompere la lettura ogni due, massimo tre parole, per andare a ricercare altrove il significato di ogni termine introdotto. Illeggibile! Ora proverò ad andare più avanti perchè sono curioso, e poi vi darò altri miei commenti. Telemaco.

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *