Benché oramai vi siano già diversi confronti tra Hyper-V 2012 R2 (che di fatto sarebbe la quarta versione di Hyper-V) e l’attuale versione di vSphere 5.1 (vedere ad esempio: Comparing WS2012 R2 Hyper-V and vSphere 5.1), preferisco mantenere un minimo di consistenza e cercare di comparare gli attuali prodotti esistenti (anche se un anno fa avevo realizzato un confronto non omogeneotra Hyper-V 2012 e vSphere 5.0). Dopo il VMworld US probabilmente vi saranno interessanti annunci e si potranno fare altri discorsi.
La terza versione di Microsoft Hyper-V e VMware ESXi (e più in generale la vSphere suite) 5.1 hanno caratteristiche tecniche (almeno sul piano delle funzionalità) abbastanza simili (e oramai entrambi si sono posizionati come leader nel quadrante di Gartner). Inoltre, per la prima volta, abbiamo assistito ad una riconcorsa di alcune funzionalità da parte di VMware introdotte in vSphere 5.1 per rispondere alle equivalenti funzioni di Hyper-V (è il caso, ad esempio, della VMware vSphere Replication). Inoltre alcune funzionalità (come, ad esempio, lo Storage vMotion sono state spostate verso edizioni inferiori, in particolare verso la Standard edition). Ritengo che una buona competenzione possa essere di aiuto per migliorare i prodotti e che i primi a trarne giovamento siano proprio gli utenti finali che, oltre a poter scegliere, hanno anche molte più funzionalità (ad un costo inferiore)!
Il primo punto di partenza dovrebbe essere la mappa di traduzione dei nomi da Microsoft a VMware e viceversa (vedere questo posto: Know vSpeak? Learn to be Bilingual). In realtà è abbastanza semplice risalire ai nomi e alle differenti funzioni associate.
Più difficile è trovare omogeneità nei confronti… se ci si limita solo all’hypervisor è abbastanza semplice, almeno dal punto di vista degli aspetti tecnici (peccato che non siano gli unici da dover essere considerati). Sui numeri poi è ancora più semplice, ma i numeri non sempre sono significativi. Ad esempio la gestione della memoria è molto differente (ESXi adotta tante tecniche differenti, mentre Hper-V solo la Dynamic Memory, e solo su alcuni sistemi operativi)… quindi non è proprio semplice dire cosa si riesce ad eseguire (ad esempio come numero di VM) a parità di memoria.
Confrontando poi con l’intera suite le cose si complicano ulteriorment (anche perhé oramai non si parla più solo di vSphere Suite, ma di vCloud Suite). Per questa ragione ci si limita a considerare la parte di VMware ESXi con il vCenter Server e poco più. Per un confronto tra le suite rimando a questo post: Comparing Microsoft Cloud with VMware Cloud.
Altrettanto complesso è analizzare le differenti dipendenze tra i servizi. A parte le ovvie dipendenze di rete e di DNS (benché VMware HA non dipenda più dal DNS) vi sono tanti altri aspetti da considerare. Ad esempio in Hyper-V l’Active Directory è un requisito per implementare un Hyper-V Cluster (visto che si basa sulla tecnologia Microsoft Failover Cluster )… Per VMware l’Active Directory non è un requisito vincolante, becnhé poi risulti complicato implementare VMware SSO e vCenter Center senza l’ausilio di un’Active Directory. D’altro canto per VMware il vCenter Server è una componente obbligatoria per implementare molti servizi, mentre Microsoft System Center VMM è solo una componente utile, ma non essenziale (se non per alcuni servizi), tanto più che in ambienti piccoli si può tranquillamente gestire tutto con il Fail-Over snap-in o tramite CLI.
Anche la gestibilità è diversa, ma qua diviene molto soggettiva, visto che varia al variare delle competenze tecniche e dal proprio background. Per chi viene dal mondo Microsoft , Hyper-V può sembrare più semplice e può, ad esempio, apprezzare la somiglianza tra la console di una VM con il client RDP. Viceversa, per chi proviene da un mondo più eterogeneo, diviene molto più utile ed apprezzabile, ad esempio, il vSphere Web Client. Personalmente ritengo che, in Hyper-V, manchino ancora alcune finezze relative alla gestione, si pensi ad esempio alle informazioni relative al guest OS, come l’hostname e gli indirizzi IP (basterebbe poco per averli integrati nelle informazioni di una VM).
I requisiti hardware invece sono realtivamente simili, oramai, visto che anche VMware richiede funzionalità hardware specifiche (Intel VT o AMD-V). In realtà alcuni requisiti degli hypervisor rimangono differenti, si pensi ad esempio ai requisiti di spazio su disco (ESXi può essere installato su una chiave USB o SD card da 1 GB!) come pure ai requisiti di memoria (ESXi richiede almeno 2 GB of RAM, Hyper-V in realtà ne richiede meno).
Scaling
System | Resource | Microsoft Hyper-V 2012 | VMware vSphere 5.1 | |||
Free Hypervisor | Essential Plus | Enterprise Plus | ||||
Host | Logical Processors | 320 | 160 | 160 | 160 | |
Physical Memory | 4 TB | 32 GB | 2 TB | 2 TB | ||
Virtual CPUs per Host | 2048 | 2048 | 2048 | 2048 | ||
Nested Hypervisor | No | Yes | Yes | Yes | ||
VM | Virtual CPUs per VM | 64 | 8 | 8 | 64 | |
Memory per VM | 1 TB | 32 GB | 1 TB | 1 TB | ||
Maximum Virtual Disk | 64 TB | 2 TB – 512 B | 2 TB – 512 B | 2 TB – 512 B | ||
Hot-Add | Only disks | Disks/vNIC/USB | Disks/vNIC/USB | All | ||
Active VMs per Host | 1024 | 512 | 512 | 512 | ||
Cluster | Maximum Nodes | 64 | N/A | 32 | 32 | |
Maximum VMs | 8000 | N/A | 4000 | 4000 |
Come già scritto la gestione di memoria è molto diversa e diventa quindi difficilmente comparabile, benché con il nuovo Hyper-V siano state aggiunte funzionalità simili al balloning ed allo swapping. Rimane magari il dubbio sulla bontà o meno della soluzione di Dynamic Memory adottata in Hyper-V: ovviamente si hanno opinioni diverse a seconda della persona alla quale porre la domanda. Personalmente ritengo comunque interessante questa funzionalità (peccato che per sua natura possa funzionare solo su alcuni sistemi operativi), tanto che non mi stupirebbe se prima o poi venisse integrata pure in VMware (di fatto potrebbe diventare una funzione di auto-scaling della memoria, usando la già presente funzionalità di hot-add della stessa). C’è anche da ricordare che comunque, con i recenti sistemi operativi, funzionalità come VMware Transparent Page Sharing perdono di efficacia (inoltre va detto che questa funzione lavora sul confronto degli hash delle pagine di memoria, non sul contenuto delle stesse… bello dal punto di vista delle prestazioni ma pericoloso, benché improbabile, dal punto di vista di possibili “collisioni”).
Vi sono poi varie differenze anche nel virtual hardware e in quello che viene supportato: VMware ha CPU e memory hot-add (solo a partire dalla versione Standard), come pure le funzioni di hot-add di NIC e altre periferiche. Inoltre VMware supporta seriali e parallele, dispositivi USB e permette di virtualizzare pure schede PCI (su questo Hyper-V ha ancora molto da recuperare).
Infine è innegabile che VMware supporta molti più sistemi operativi, inclusi quelli legacy (e inclusi sistemi operativi Microsoft che neppure Hyper-V supporta). ESXi è persino in grado di virtualizzare altri hypervisor, incluso Hyper-V!
Storage
Capability | Microsoft Hyper-V 2012 | VMware vSphere 5.1 | ||
Free Hypervisor | Essential Plus | Enterprise Plus | ||
Thin disks | Yes (dynamic disks) | Yes | Yes | Yes |
Differential disks | Yes | No (only with API) | No (only with API) | No (only with API) |
SAN |
iSCSI/FC | iSCSI/FC | iSCSI/FC | iSCSI/FC |
NAS | SMB 3.0 | NFS 3 over TCP | NFS 3 over TCP | NFS 3 over TCP |
Virtual Fiber Channel | Yes | Yes | Yes | Yes |
3rd Party Multipathing (MPIO) | Yes | No | No | Yes |
Native 4-KB Disk Support | Yes | No | No | No |
Maximum Virtual Disk Size | 64TB VHDX | 2TB VMDK | 2TB VMDK | 2TB VMDK |
Maximum Pass Through Disk Size | 265TB+ | 64TB | 64TB | 64TB |
Storage Offload | Yes (ODX) | No | No | Yes (VAAI) |
Storage Virtualization |
No (only 3rd part) | No (only 3rd part) | VSA | VSA (limited to 3 nodes) |
Storage Encryption | Yes | No | No | No |
Caching | Yes (CSV read-only cache) | Swap to host cache | Swap to host cache | Swap to host cache |
Dal punto di vista dello storage non voglio entrare in sterili confronti tra VMFS e CSV (ogni soluzione ha dei vantaggi e dei svantaggi). Rimane però interessante il nuovo formato VHDX, in particolare per il supporto di grossi virtual disk (personalmente trovo che il limite dei 2 TB inizi ad essere vincolante, almeno in alcuni particolari scenari). D’altro canto trovo molto limitante che Hyper-V abbia ancora il limite (dovuto a ragioni di compatibilità) di usare il disco di sistema IDE: verò che non limita le prestazioni, ma sicuramente la scalabilità visto non sarebbe ridimensionabile a caldo (vero che per ora questa funzione è ancora mancante).
Entrambi supportano in produzione i dischi di tipo thin (dynamic in Hyper-V), con l’aggiunta che, per ambienti di test, Hyper-V include anche i dischi di tipo differenziali (linked clone in VMware ma attivabili solo con API o con vCloud Director oppure View Composer).
Networking
Capability | Microsoft Hyper-V 2012 | VMware vSphere 5.1 | ||
Free Hypervisor | Essential Plus | Enterprise Plus | ||
NIC Teaming | Yes | Yes | Yes | Yes |
Extensible Switch | Yes | No | No | Replaceable |
PVLAN Support | Yes | No | No | Yes (only with DVS) |
ARP/ND Spoofing Protection | Yes | No | No | vCNS/Partner |
DHCP Snooping Protection | Yes | No | No | vCNS/Partner |
Virtual Port ACLs | Yes | No | No | vCNS/Partner |
Trunk Mode to Virtual Machines | Yes | Yes | Yes | Yes |
Port Monitoring | Yes | Per Port Group | Per Port Group | Yes |
Port Mirroring | Yes | Per Port Group | Per Port Group | Yes |
Dynamic Virtual Machine Queue | Yes | NetQueue | NetQueue | NetQueue |
IPsec Task Offload | Yes | No | No | No |
SR-IOV | Yes | Yes (No Live Migration support) | Yes (No Live Migration support) | Yes (No Live Migration support) |
Network Virtualization | Yes | No | No | VXLAN |
Quality of Service | Yes | No | No | Yes |
Data Center Bridging (DCB) | Yes | Yes | Yes | Yes |
La rete è divenuta abbastanza simile (a livello di funzionalità) tra i due prodotti e l’introduzione del supporto nativo al teaming in Windows Server 2012 è stato sicuramente un passo avanti per evitare l’uso di inutili tool di terze parti. Da notare però che oramai alcuni servizi (e non solo quelli legati allo storage IP) non utilizzano il teaming, ma configurazioni esplicite, come ad esempio per il Fail-Over Cluster heartbeat (in Hyper-V) o le reti per VMware vMotion o Hyper-V Live Migration (che utilizzano una configurazione multi-rete con percorsi multipli).
Rimane forse più complicato progettare e configurare correttamente una buona rete in Hyper-V, considerando anche alcune limitazioni nella gestione del teaming (le cui policy non possono essere modificate a livello di Team Interface, come invece avviene a livello di PortGroup in ESXi).
High Availability & Resource control & Resiliency
Capability | Microsoft Hyper-V 2012 | VMware vSphere 5.1 | ||
Free Hypervisor | Essential Plus | Enterprise Plus | ||
Nodes per Cluster | 64 | N/A | 32 | 32 |
VMs per Cluster | 8000 | N/A | 4000 | 4000 |
Virtual Machine Live Migration | Yes | No | Yes | Yes |
Shared-Nothing Live Migration | Yes | No | Yes (only from Web Client) | Yes (only from Web Client) |
CPU Compatibility for Live Migration |
Per VM (only one baseline) | No | Cluster EVC (several baselines) | Cluster EVC (several baselines) |
Guest Clustering with Live Migration Support | Yes | N/A | No | No |
Automated Live Migration |
Yes | N/A | N/A | Yes (DRS/DPM) |
Simultaneous Live Migrations | Unlimited | N/A | 4 (1GigE) or 8 (10GigE) | 4 (1GigE) or 8 (10GigE) |
Live Storage Migration | Yes | No | No | Yes |
Simultaneous Live Storage Migrations | Unlimited | N/A | N/A | 4 |
Hot and Incremental Backups | Yes | No (some 3rd part tools) | Yes | Yes |
VM Replication | Yes | No | Yes | Yes |
Integrated High Availability | Yes (Fail-Over Cluster) | No | Yes (VMware HA) | Yes (VMware HA) |
VM Lockstep Protection | No (3rd part tools) | No | No | Yes (VMware FT) |
Guest OS Application Monitoring | Yes | N/A | No | No |
HA handle storage failure | Yes | N/A | No | No |
Cluster-Aware Updating | Yes | N/A | Yes | Yes |
Failover Prioritization | Yes | N/A | Yes | Yes |
Resource Pool |
Yes (host groups) | Yes | No | Yes (DRS is needed) |
Affinity & Anti-Affinity Rules | Yes | N/A | N/A | Yes |
Conclusioni
Uno degli aspetti forse più controversi nella differenziazione tra questi due prodotti è legato al reale costo degli stessi: costa meno implementare Hyper-V o vSphere? Il problema è che esistono diverse metriche, come il costo per applicazione (o servize) suggerito da VMware oppure il costo per host suggerito da Microsoft. La verità è che bisognerebbe considerare tanti altri costi oltre a quelli legati a software e hardware. Implementare e gestire ha un costo che ovviamente dipende anche dal vostro livello tecnico e dalle vostre capacità (o quelle dei consulenti preposti): persone dal mondo Microsoft troveranno più economico implementare Hyper-V, come pure persone con conoscenza di VMware troveranno più semplice e veloce (e quindi potenzialmente più economico) implementare vSphere. Vi è poi il discorso legato alla subscription che per VMware è obbligatoria (almeno il primo anno), mentre per Microsoft (la Software Assurance) è quasi sempre opzionale (bisogna però anche dire che con il nuovo ciclo di rilascio dei prodotti divene quasi più una vera necessità per garantirsi le nuove versioni).
Rimane il fatto reale che la versione gratuita di Hyper-V (l’Hyper-V Server) fornisce praticamente tutte le funzionalità (tra l’altro senza limitazioni nelle API) e soprattutto non è necessario implementare anche System Center VMM (se non per funzioni come la gestione integrata, i template, …). Dall’altra parte VMware differenzia in numerose diverse edizioni, con un crescendo di funzionalità (ma anche di costo). Per un’analisi più completa di cosa è incluso della versione gratuita di Hyper-V rimando a questo post in inglese: Real Hyper-V vs. VMware comparison: What you actually get for free (parte 1 e parte 2).
Quindi potremmo considerare Hyper-V la soluzione migliore (o una possibile soluzione) per il mondo delle PMI? Al di là della eventuale diffidenza (di alcune persone) verso i prodotti Microsoft, la risposta è che potrebbe esserlo, soprattutto con l’introduzione di funzionalità come lo share-nothing storage, il supporto per NAS (benché solo con SMB 3.0), le funzio di replica asincrona delle VM. Per l’uso di Hyper-V nel segmento SMB, vedere anche questo post in inglese: Hyper-V over SMB makes virtualization more accessible for small and medium businesses. Rimane il fatto che VMware, con il suo bundle vSphere Essential Plus può coprire la maggior parte delle esigenze di una PMI (considerando poi che il limite dei 3 nodi ESXi è più che adeguato per il tipo di mercato).
E per il mondo delle Enterprise? Hyper-V può giocare (o potrà giocare) un ruolo da protagonista? Anceh qua la risposta è difficile visto che il gap ancora rimane, soprattutto nella maturità del prodotto (VMware ha comunque avuto quasi 8 anni di vantaggio), ma soprattutto sul numero di sistemi operativi supportati e sun numero di case study.
Per altri confronti tra Hyper-V 2012 e vSphere 5.1:
- Comparison of Windows Server 2012 Hyper-V Versus vSphere 5.1
- Virtualization showdown: Microsoft Hyper-V 2012 vs. VMware vSphere 5.1
- Windows Server 2012 Hyper-V vs VMware vSphere 5.1
- Hyper-V vs. VMware vSphere – Networking (Thomas Maurer)
- Hyper-V V3 vs vSphere 5.1 video from E2EVC
- Microsoft point of view: Competitive Advantages of Windows Server 2012 Hyper-V over VMware vSphere 5.1
- VMware point of view: Comparing VMware vSphere and Microsoft Hyper-V
Infine esiste un ottimo sito (ed anche abbastanza aggiornato) con un confronto, funzionalità per funzionalità, tra vSphere, Hyper-V, XenServer e RHEV: Virtualization Matrix.