VMware taxes your virtual memory
The hidden cost of vSphere 5
Rotten to the memory, agnostic to the core
Starting with vSphere 5.0, VMware is getting rid of any core restrictions and is just going to license the vSphere software based on a processor socket regardless of the number of cores that are in each socket. This is necessary not only because of the increasing number of cores in a socket coming from Intel and AMD, explains Balkansky, but also because the definition of a core is becoming fuzzy.
With the launch of the "Bulldozer" cores from Advanced Micro Devices later this quarter. These cores are not really standalone cores as we think about them in prior Opterons and current and future Xeons, but rather have pairs of integer and floating point units that are hooked into shared schedulers and caches. The resulting pairs are a kind of fractional core, somewhere between 1 and 2 and depending on how the application wants to see them. (For instance, the floating point unit can act as two independent 128-bit FPs or a single 256-bit FP, depending on the availability of the FP units).
Customers were annoyed by the core restrictions in the various VMware vSphere releases, too, and VMware was annoyed about having to count cores and to explain to customers they needed to buy extra licenses of the software to run the ESX Server or ESXi hypervisor on a machine that had more than six cores per socket. By the way, here's an important bit of information: The core and memory caps that VMware put into its lower-end releases are completely arbitrary. If you want to use the entry Essentials or Essentials Plus version of the vSphere stack on a machine with two eight-core sockets, you just double up the licenses to a total of four sockets and the hypervisor will see all 16 cores just fine.
If VMware eliminates the physical core caps, it has to make up the money some way, and the idea now is to charge customers for the amount of virtual memory they configure to each hypervisor. While the caps have been removed on physical memory with vSphere 5.0, VMware is limiting the amount of virtual memory a license entitles VMs to address, and to be able to address more virtual memory, customers have to buy more licenses per socket.
With the vSphere 5.0 editions, the Advanced Edition is now dead. Customers who have Advanced Edition can move to Enterprise Edition when they upgrade. The licenses to the Essentials, Essentials Plus, and Standard Editions are capped at 24GB of virtual memory per socket (and you buy licenses on a per-socket basis, of course). The Enterprise Edition has a cap of 32GB of virtual memory per socket, and the Enterprise Plus Edition has a cap of 48GB of vRAM, as VMware calls it, per socket.
Call it the virtual memory tax.
There are still caps on the number of virtual CPUs that can be used in a single guest VM, by the way, just as prior vSphere versions had. The Standard Edition costs $995 per server socket and is capped at 8 vCPUs and 24GB of vRAM per VM. Standard Edition has VMotion live migration, which allows for running VMs to teleport from one physical server to another, as well as high availability and disaster recovery features.
The Enterprise Edition has a 32GB vRAM cap and the same 8 vCPUs per VM, and tosses in storage APIs, storage VMotion, Distributed Resource Scheduler load balancing, and Distributed Power Management (which consolidates VMs onto as few servers as possible and shuts down unused ones). It costs $2,875 per socket. The full-tilt-boogie Enterprise Plus Edition has all of the vSphere bells and whistles, including the distributed switch and the new Auto Deploy and Storage DRS features. It also allows up to 32-way VirtualSMP and up to 48GB per VM. It costs $3,495 per socket.
With the average customer configuring about 3GB of vRAM per VM today, Balkansky says that the vast majority of VMware's customers won't see much of a change in moving from vSphere 4.X to vSphere 5.0 in terms of licensing. But what is clear is that customers that want to consolidate lots of cores into the fewest number of sockets possible and get good VM performance by adding lots of main memory are going to pay.
For the sake of simplicity
Let's take a big, fat, eight-way Xeon E7 server and push it to the limits. For the same of argument, let's assume that vRAM and physical main memory are the same. So if you have an 80-core machine with 2TB of main memory, you would need 43 licenses to Enterprise Plus, not eight. And that is $150,285 instead of $27,960, and that is also one hell of a price increase.
But the situation is not as simple as that example above outlines. While VMware is charging for incremental virtual memory access, virtual memory licenses are pooled within editions and across physical machines. So if you have a pod of machines running Enterprise Plus Editions, for instance, you could buy 44 licenses and scatter them across 22 machines and have a virtual memory pool of just over 2TB.
If one machine suddenly needed 1TB of virtual memory and a whole bunch of the other machines in the pool were running lean on the vRAM, the ESXi 5.0 hypervisor on the needy box would grab the physical memory it needs to create the virtual memory required for the job and there is no big deal. The vCenter Server console takes care of monitoring and managing the process and the license compliance.
The interesting effect of this is that customers will have to plan very carefully what they expect their physical CPU and memory configurations will be to underpin their virtual server instances, particularly since VMware is not allowing vRAM pooling across vSphere Editions. VMware is not doing this for obvious reasons. Everyone would buy the cheapest license possible to get the most vRAM access.
The idea with the new pricing scheme was to make licensing simpler, but VMware may have just made it more complex. It could have simply said ESXi 5.0 costs $995 per socket plus a certain amount for physical memory and then put out a list price to activate features. That is apparently too much a la carte for VMware's liking. ®