As I wrote in the article “Standardization – Doing IT as Simple as That“, our company has faced the need to unify technologies in past. At the time, we had customers with Microsoft Hyper-V, VMware vSphere and Citrix XenServer, and we had to choose one virtualization platform to “bet” our future on. According to the title of the article, it is clear that we chose Hyper-V. I would like to share 6 reasons “why” we have decided to do so.
Before I start, I’d like to put things into context. The Hyper-V option stems from our environment – mostly standalone virtualization servers or small clusters with up to a few dozen virtuals, mostly with Windows Server, occasionally with various Linux distributions, as well as our experience and knowledge.
I will no longer mention Citrix XenServer in the article, with which we have had serious problems (power drops and network corruption). That’s why we have excluded it (we only had it in one inherited installation and it’s possible that it was just a bad luck).
Reason #1) Simpler learning
If someone can work with Windows Server, they can automatically work with Hyper-V. Hyper-V is nothing but a Windows Server with a role installed (of course, it can run without the GUI even in command-line/powershell mode).
For debugging and management, we can use the same tools we’re used to from virtualization-free environments: Event Viewer, Process Monitor, Performance Monitor, Windows Explorer. So save time to learn and experience problems with Windows Server experience faster.
As for the VMware, you need to familiarize yourself with Vmware ESXi (OS installed on a virtualization guest). Fortunately, installation is not complicated. But if there are some complications with stability or performance … the “fun” starts (it is necessary to learn the performance debugging and the specifics of this OS).
Reason #2) Simple updates (OS and firmware)
Updating Hyper-V is simple. As I wrote above, it is Windows Server, so everything updates via Windows Update. At the same time, if we need to update the firmware on the server (eg critical PSU, UEFI, HDD, SSD, disk controller), most manufacturers have update packages executable directly from Windows. So a fast FW update is done (everything is still running during the update) and then a quick restart.
Updates at VMware have not come so easily with me (see one of the simplest tutorials https://tinkertry.com/easy-upgrade-to-esxi-650d). A lot of people think that VMware updates are nonexistent, or that only updates are upgrades between versions (eg 6.0 to 6.5). It is not so. Even VMware comes out in a series of updates (see ESXi 6.5 release history https://esxi-patches.v-front.de/ESXi-6.5.0.html). As far as FW updates are concerned, from what I know, are in VMware impossible. You need to use a DVD boot update, a lifecycle controller, or update through some remote management (iDrac, iLo, IMM). PS: At one conference, I recently talked about FW updates with someone. He said the producers are issuing their own “packages” for VMware, and they say they also contain firmware updates. I do not have my own personal experience.
Reason #3) Connecting to UPS
We always connect virtualization servers with UPS (backup source).
- Data loss prevention: virtual servers and hosts must shut down correctly when the power failure occurs before the UPS is fully discharged.
- Downtime minimization: Servers must automatically start when the power supply is restored. We do not have to deal with this type of situation: the power drops after midnight, the morning shift starts at 5 am, but the servers are offline – the IT administrator needs to be woken up and before everything is started, the shift is already 30 minutes late.
Hyper-V is simple and accessible to almost all UPS manufacturers.
With VMware, we have not been able to figure out how to do it on standalone virtualization servers. We have launched it with the vCenter console and APC plugin, but this is a vCenter server and license. When we have tested the functionality after half a year, we have found that it has stopped working and the plugin had to be reinstalled.
Reason #4) Already completed monitoring
We have already had a complete monitoring system that we use to monitor all Windows Servers. We monitor HW health, UPS status, system settings (see PREVENTION system). No need to edit anything to support Hyper-V.
With VMware we would need to do the monitoring support (look for a new SNMP OID for each HW server component and performance pointer). I would subjectively say that we would not be able to get as much information from VMware as from the Windows.
Reason #5) More economical deployment
Here I assume that “every server needs to be monitored and updated” => multiple servers = more needed time = higher costs.
We make backups of the servers both from the outside (thought from the hypervisor) and from the inside (directly from the virtual server) for all of our customers. It is the standard we have introduced and is an important element for backup security see Data backup – How to not to lose data when hacked (in real life) ).
At Hyper-V, I can install a backup SW directly on the hypervisor. However, VMware does not work (at least from what I’ve identified) and needs to have another (physical or virtual) server and VMware license to back up virtual servers from outside.
Because of the small clusters I no longer need Hyper-V to have a dedicated Active Directory (another server) because new workgroup clusters can be made from Windows Server 2016 (4 node clusters = 4 servers). However, to create a VMware cluster, I need a vCenter server (4 node cluster = 4 + 1).
Reason #6) The small things
A few little things that I can come up with, but I do not want to put them out separately (if I come up with something in the future, I’ll add that as well).
- Remote administration:
- Hyper-V: we can do with the classic RDP, which is part of all Windows OS and can be downloaded for other systems (Linux, Android, iOS).
- VMware: Fortunately, it already has a universal tool – a web client. However, at the time of decision-making between VMware and Hyper-V, the “thick” vSphere client still needed to be in the same version as the VMware ESX (i) server. So we had three, four versions of this client installed at a time.
- Hyper-V: is free of charge in the Windows Hyper-V Server Edition (without GUI). However, if you have at least one Windows Server Standard license, it entitles you to have an OS installed on a physical server (Hyper-V traffic only) and two virtual servers under one license (thus everyone has the full functional license).
- VMware: it also has a free of charge version, but with certain limits (depending on what I’ve been looking for: the 8-core limit on the virtual and without the API, SNMP, and vMotion). Fortunately, the price is quite reasonable, you can buy the package “VMware Essentials Kit for 3 hosts” (about 12k excluding VAT + about 1.6k for annual support). However, if the customer has a server for 20 to 30 thousand …
“Max Devaine” has shared his experience with VMware on his blog (YES I admit it fits me well).
We are happy with the decision to bet on Hyper-V. By unifying virtualization technologies, we have succeeded in making our customers more satisfied and it saves us a lot of work, because:
- We have reduced the number of issues we have addressed,
- Colleagues learn faster and understand technology deeper,
- We’ve simplified our customer environment documentation.
We are occasionally faced with the fear of migration. They are afraid of Hyper-V not running their virtual Linux servers. It is true that Linux support was not much to celebrate till Windows Server 2012. However, since then, we have important Linux servers (some as well as gen2) on Hyper-V and everything runs like Swiss watch. 🙂
You may have noticed that I did not compare the advanced features of VMware and Hyper-V. That’s because we’re doing our best with “little” that all virtualization platforms can handle. Moreover, because we have been doing Hyper-V for only a few years, I no longer have any insight into what VMware offers. And I hate to say something that is not true. If you have a function that one platform has but not the other, I will be happy if you would share it in the comments below.
What are your experience? Are you using VMware, Hyper-V or any other platform? Have you encountered some insolvable problems?