I’m at a MS partner briefing day in Dublin. The focus is on licensing in a virtualised environment. I’ve spent most of the last 3 years in a hosting environment with SPLA licensing. This will give me an opportunity to start getting back in touch with volume licensing.
- Good News: we got key shaped 8GB USB sticks with the Hyper-V logo

- Bad News: Sales and marketing are coming in to talk to us
I guess we have to take the bad with the good 
Ideal Process
- Technical expert assesses the infrastructure.
- Technical expert designs the virtualisation solution.
- Licensing specialist prices the requirements and chooses the best licensing.
Definitions
- Virtual Machine: encapsulated operating environment
- Instance of software: Installed software, ready to execute. On a physical hard disk or VHD. On a server or copied to a SAN.
- Processor: Socket, physical processor
- Core: logical processor contained within a physical processor. For example, 4 cores in a quad core processor.
- OSE: Operating System Environment.
- POSE: Physical operating system environment, installed on a physical server.
- VOSE: Virtual operating system environment.
Licensing
- You only have to license running instances. Powered down VMs do not need to be licensed.
- This guy is saying that OEM licensing with Software Assurance is not tied to the hardware. I guess I’ll have to take his word for that …. but I’d be sure to verify with a LAR beforehand!
- Live migration: you can move a VM between hosts as long as the host is adequately licensed. Exception: application mobility on server farms. >90 days movement of licenses. (no details given).
- CALs need to be bought for VOSEs. Usually don’t need CALs for the POSE unless the POSE is providing direct services to users, e.g. you are silly and make your Hyper-V host into a file server.
Licensing Applications Per CPU
In the standard editions, you license the CPU’s of the OSE. For example, in a VOSE you count the vCPUs. In a POSE, you count the pCPUs.
In the Enterprise/Datacenter installations, you should license the host pCPUs. There are benefits that cover more than one VOSE. Enterprise usually covers 4 VOSEs (SQL), and DataCenter (if all pCPU’s are licensed with a minimum of 2) covers all VOSEs.
Simple VS Flexibility
We want simple licensing. MS is claiming the the dynamic nature of virtualisation requires flexibility and this is an opposing force to simplicity.
Predictable:
- Standard: lest flexible
- Enterprise: flexible but limited
- Datacenter: flexible and unlimited
SQL Licensing
God only knows! The MS folks in the room cannot agree. Ask your LAR and your local MS office licensing specialists. The topic of 2008 rights (Enterprise covered all VOSEs) vs 2008 R3 rights (Enterprise covers 4 VOSEs) is debated. One side says that 2008 rights have ended as of the release of 2008 R2. The other side says they remain as long as you licensed SQL 2008 prior to the 2008 R2 release with per processor licensing or you bought instances with maintained Software Assurance. There’s no firm answer so we break for lunch.
OK, there is a discount process. You can license per processor based on virtual CPU, or physical CPU. For example, if you have 1 vCPU in a VM on a host with quad core processors then you can buy 1 vCPU license. If you have 4 vCPUs in a VM on a host with quad core processors then –> that VM runs on 1 pCPU so you can buy 1 per processor license for the pCPU. If you have 2 * VM’s with 4 * vCPUs on a host with a single quad core processor then you buy 2 per processor licenses –> each VM runs on a single pCPU and you must license each installtion (1 pCPU * 2 VMs = 2 per processor licenses).
If licensing per POSE (host) then you must license each possible host that may license your SQL VM’s. So, you could use Failover Clustering’s preferred hosts option for your SQL VM’s and set up a few preferred hosts in a cluster, and license those hosts. And remember to take advantage of the CPU discount process.
Server
You can freely reassign a license within a server farm. Microsoft has a time zone definition of a server farm, e.g. 3 hours for North America, and 5.5 hours for Europe and the Middle East.
I’m not doing the std, ent, datacenter stuff because it’s done to death.
Most Common Mistakes
- Virtualising more than 4 VM’s when using Enterprise Server edition
- Under licensing when using Live Migration or VMotion
- Under licensing of server application versions, e.g. SQL Standard instead of SQL Enterprise, for hosts when using Live Migration or VMotion
- Selling OEM/FPP to customers who want live migration …. they either need volume licensing (with/without Software Assurance) or they should have OEM licensing with Software Assurance.
This is where the speaker warns us to never trust someone who claims to fully understand MS licensing rules. Always qualify the answer by saying that you need to verify it.
VDI
If you have non-SA, legacy or thin clients, then you can use the VDA license for VDI. If you have SA then your Enterprise licensing entitles you to 4 VM’s per licensed desktop machine and place those VM’s on a virtualisation host.
The VDI standard suite includes a bunch of management systems (SCVMM, SCOM, SCCM, and MDOP) and an RDS license for delivering user access to the VMs. The VDI enterprise suite extends this by offering unrestricted RDS licensing to allow the user to access both VDI and terminal servers. You also get App-V for RDS.
Scenarios
If you are running things like SQL, then you may need to consider live migration or VMotion. There was a real-world example based on VMware. 24 possible hosts (4 CPUs each), 295 VMs and 36 of those running SQL. How do you license? For Server, the best scenario is to buy 96 * Datecenter edition. For SQL, the actual solution (MS, customer, lawyers, etc involved) was to create a cluster of 4 hosts. The SQL cluster of 4 hosts was licensed with SQL Datacenter edition. That limited costs and maximised compliance.
Summary
That was an informative session. The presenter did a good job. He was accepting of being challenged and seemed to enjoy the 2-way conversation that we had going on. If you are a partner and get an invite for this type of session, register and go in. I think you’ll learn something. For me, the day flew by, and that’s always a good sign. I can’t say I understood everything and will retain it all. I think that’s just the nature of this EU treaty-like complexity.
It seems to me that MS licensing for virtualised environments conflicts directly with the concepts of a dynamic data centre or private cloud computing. For example, SCVMM 2012 gives us elasticity. SCVMM SSP 2.0 gives us complete self-service. System Center makes it possible to automatically deploy VMs based on user demand. IT lose control of licensing that’s deployed in the private cloud because we’re handing over a lot of that control to the business. What’s to stop the owner of a dozen VMs from deploying SQL, BizTalk, and so on, especially if we are doing cross charging which assumes they have an IT budget to spend?
Microsoft licensing rules assume complete control and oversight. We don’t have that! That was tough in the physical world; it’s impossible in the virtual world. We might deploy VMs onto the “non-SQL” Hyper-V or vSphere cluster but the owners of those VMs can easily go and install SQL or something else on there that requires per-host licensing (for cost savings). This pushes you back to per-VM licensing and you lose those cost savings.
I think MS licensing needs to think long and hard about this. The private cloud is about to take off. We need things to be simplified, which they are not. On the contrary, I think virtualised licensing (on any of the hypervisors) is more complicated than ever, considering the dynamic nature of the data centre which is made possible by the great tools made by the likes of Microsoft, VMware, and Citrix.
On the positive side, if you understand this stuff, and put it to work, you can really save a lot of money in a virtualised environment. The challenge is that you have to maintain some very tight controls. It’s made me reconsider how I would look at designing Hyper-V/vSphere clusters.