VMware vs Hyper-V
When it comes to virtualization, VMware and Hyper-V are probably the two industry leaders. While VMware is one of the oldest and has been around for over two decades, Hyper-V has greatly improved since its initial release with Windows Server 2008 R2. I've had the experience of working with both platforms at work and in my personal home server, so I want to share some of my experience of the pros and cons of each platform.
VMware was founded in 1998 and is currently owned by Dell, Inc. Their main virtualization platform is vSphere which is a suite of products including, most notably, ESXi and vCenter. ESXi is the actual virtualization platform that runs on the host, and vCenter is the management platform that runs on a VM and allows the administrator to control all the VMware features via a web interface. Aside from the usual virtualization of servers, VMware has a number of advanced features including vMotion which allows live migration of virtual servers from one host to another and RDM disk configuration which allows a SAN LUN to be presented to multiple servers simultaneously without the LUN being locked to a specific VM like traditional iSCSI. The HTML5 web administration portal is user-friendly and can even be joined to your Active Directory domain to allow AD users to sign-in. SSO is also supported as well which is convenient.
There are a few downsides to using VMware over other platforms though. The first is that only specific server models are certified for each release of vSphere (VMware provides a useful Compatibility Guide to find the compatible versions for your server model). Unfortunately, VMware seems to stop releasing the latest version of vSphere on servers after about 5-6 years. For example, the Dell PowerEdge R720, released in 2012, only supports up to vSphere 6.5 (6.7 is the current release). This may be an issue for companies that use servers longer than 5 years for budgetary reasons.
The other downside is that there is a price associated with vSphere compared to competitors that are free. VMware does provide a free version called vSphere Hypervisor, but it is not compatible with vCenter. VMs are also limited to 8 virtual CPUs. This may not be an issue for simpler environments, but larger organizations may want to purchase the full vSphere to utilize the more advanced components of the platform.
Hyper-V was once considered a weak opponent to VMware, but Microsoft has done a lot of development to make it a viable player in the virtualization industry. Hyper-V can be added as a role in a standard Windows Server deployment, or it can be installed via the free Hyper-V Server available for download here. Hyper-V supports many of the expected features including fiber-channel SAN connections, Live Migration (Microsoft's version of vMotion), and redundancy via Failover Cluster. Hyper-V is managed via the MMC Hyper-V Manager client, PowerShell, and the new Windows Admin Center. The system requirements for Hyper-V are also very flexible compared to VMware. As long as a server runs a CPU that supports SLAT (Second Level Address Translation), it should be able to run the latest version of Hyper-V. As an example, I am currently running Hyper-V on Windows Server 2016 on an old HP G6 server, and it works perfectly.
One of the main advantages to running Windows VMs on Hyper-V is AVMA (Automatic Virtual Machine Activation). If Windows Server Datacenter is running Hyper-V on the host, it can activate an unlimited number of Windows Server VMs from 2012 to 2019. This is done by simply enabling the Integration Services on the VM and activating it with the appropriate AVMA key that is published on Microsoft's support site. This means that a company would only need to purchase one Windows Server Datacenter license for host to deploy an unlimited number of servers. Depending on the size of the environment or if the company qualifies for nonprofit discounted licenses on TechSoup, this can save a lot of money on Windows Server licensing.
Some of the downsides of Hyper-V include lack of dedicated web management UI or advanced features. While VMware includes an HTML5 client that can be accessed on virtually any device, Hyper-V requires the use of Hyper-V Manager for GUI-based management. This means that an administrator either has to run Hyper-V Manager on a Windows machine or RDP into a host running Windows Server Standard or Datacenter with the desktop GUI installed. While the new web-based Windows Admin Center does provide most of the same Hyper-V functionality in a browser, it was not designed specifically for Hyper-V and thus requires more clicks to get to the Hyper-V tools than vCenter whose sole purpose is to manage vSphere.
The other potential downside is the lack of more advanced features compared to VMware. One example from my own experience is that Hyper-V does not support RDM disks. We actually had to switch to VMware specifically for this purpose since we hosted an application that required this functionality. Another advanced feature Hyper-V lacks is the ability to install and run it on an external media such as an SD card or USB flash drive. Microsoft only supports installation on local disks. If an administrator intends to run VMs off of directly-attached storage, this will be a downside since at least two disk slots will be lost for the Hyper-V installation (assuming a RAID-1 deployment for Hyper-V itself).
VMware and Hyper-V are both highly versatile virtualization platforms and, in my opinion, equally sufficient for the majority of use cases. If more advanced functionality is required, I personally would recommend vSphere. For other standard virtualization deployments of Windows Server VMs, Hyper-V on Datacenter edition with AVMA activation may be a more cost-effective and simpler setup. Companies that are running older hardware may also prefer Hyper-V to allow them to use the current version and its features. Either way, both VMware and Hyper-V are great virtualization platforms and will meet the requirements of most companies in virtualizing their Windows servers.