Software licensing is rarely straightforward -- and virtualization only increases licensing complexity, as both virtualization platforms and VMs themselves must be licensed properly.
2 key rules for VM licensing
IT admins should keep two rules in mind when licensing a VM:
- Licensing requirements don't go away just because software is running inside a VM.
- Although there are some common licensing practices across the industry, each software vendor has its own way of doing things. Not all vendors adhere to the same requirements.
Consider the licensing requirements to run an application on a physical server. Every platform is different, but most require an OS license, an application license and any applicable client access licenses.
Server virtualization does not eliminate these requirements. When deploying a VM, the licensing requirements for any software running inside the VM -- including the OS -- must be satisfied.
Licensing requirements for virtualization hosts
The licenses required for a virtualization host vary significantly depending on the underlying hardware.
VMware ESXi hosts, for example, require a vSphere license. However, a single vSphere license can only meet the host's licensing requirements if there is one physical CPU containing no more than 32 cores. CPUs with 33 to 64 cores require an additional vSphere license.
Similarly, if the host has more than one physical CPU, each CPU requires a vSphere license. For example, an ESXi host with two physical 64-core CPUs requires four vSphere licenses -- two for each CPU -- because each CPU has more than 32 cores.
VMware is not the only vendor to license its hypervisor based on the host's hardware configuration. Microsoft also bases its host licensing for Hyper-V on the number of cores in the host and the number of VMs running Windows Server. For licensing purposes, Microsoft refers to these VMs as operating system environments, or OSEs.
Those who choose Hyper-V as a virtualization platform can use either the Standard or Datacenter Edition of Windows Server. However, Windows Server Standard Edition is only suitable for minimally virtualized environments, as each license covers only two OSEs.
A Standard Edition license enables an organization to run the parent OS on the host if the OS is configured to act only as a virtualization host and does not run other applications. It also enables the host to run a single VM, with additional VMs requiring additional licenses.
In contrast, a Windows Server Datacenter Edition license allows the host to run an unlimited number of VMs -- with the caveat that the host hardware is the basis for the licenses.
Standard and Datacenter Edition licenses both have a 16-core limit for CPUs, so host servers require an additional license for every 16 cores.
Guest OS licensing
Another key consideration in VM licensing is how to license the guest OS. In a Windows Server environment, this is relatively easy to do. A Standard Edition license covers up to two OSEs, allowing for up to two Windows Server VMs, whereas a Datacenter Edition license allows for an unlimited number of Windows Server VMs.
The same concept also applies to VMware environments, but purchasing a VMware license does not automatically enable IT admins to run Windows Server in their VMs. Instead, organizations must license the VMware environment and then purchase Windows Server licenses based on the number of VMs they plan to host.
In either case, it's important to purchase enough licenses for the number of CPU cores running on the host.
Nearly all production virtualization environments are clustered. Failover clustering ensures that if a virtualization host fails, all VMs that were running on that host fail over automatically to another functional host in the cluster.
Failover clustering can complicate VM licensing because VMs can run on any host in the cluster, meaning that each cluster host must be licensed properly. For example, when licensing a cluster with multiple nodes, Windows Server licenses -- typically Datacenter Edition -- must be purchased for each node so that VMs are always licensed properly, regardless of which host they're running on at any given moment.