There’s a saying in politics People will fall more easily for a big lie than for a small one*. I think someone at VMware has picked this up because they’re trying a really big lie.
VMWare doesn’t need memory.
Or to quote the post more precisely: VMware Infrastructure’s exclusive ability to overcommit memory gives it an advantage in cost per VM the others can’t match.**
They were able to start 40 instances of Windows XP to achieve the 40 VMs, with 512MB of memory on a machine with only 4GB of RAM – a 5 times over commitment ratio. Of course they didn’t actually run anything in them, because if you and I fired up Outlook, and IE (with our own mail boxes and choice of pages) you open word and I open PowerPoint very few memory pages will be sharable (I’ve got 47 pages open in IE right now, and it’s using over 300MB of RAM, almost all for data). That means a lot of paging will have to happen in the virtualization stack. Brace yourself for really poor performance.
When I read they were using Windows 2000 in the server test I got suspicious, why use an OS which is out of support ? to get better results of course. (As I understand it they don’t support Windows Server 2008 yet). To get as much page overlap as possible they ran identical OS, and application on all the VMs, and gave them only a little memory – 512MB for a server is pretty meager. That’s important because it ensures memory is occupied by OS and programs rather than data. Programs will have a lot of sharable pages of memory: data and caches won’t. Suppose they had done the same over commitment with 1.5GB machines and got 4 on their system to 2 on Microsoft Virtualization. Spare memory will get used as a cache and this will have almost no sharable pages. Data is in from disk to fill memory which isn’t there and has to be paged out in the Virtualization stack – that’s two sets of disk I/O for nothing.
The writer then cooks the figures: a $6000 for a 2-way server with 4GB of RAM ? I went onto Dell’s web site, and got a quote for 2xDual Core Processors, 16GB of RAM and 2x500GB drives in an SC1435 for under £2,000. Given that the UK prices for hardware are always higher than US prices I’m very dubious of that server price. But let’s allow that. According to the VMware post their software costs an extra $5,750 (note that’s without support). Again I’m working from the memory upgrade prices on Dells web site, an upgrade from 4 to 32 GB upgrade adds £2,720 to the price. At today’s Exchange rate, and ignoring the cheaper prices in the US, that’s $5,440. So according to VMware a $17,000 system based on their software would have 4GB of ram and run 14VMs. On 4GB the system would run 7 VMs on Microsoft software. But the same money using Microsoft Software would buy 32GB of RAM, the extra 28GB which allows you to run 56 more VMs. That’s 63 VMs on $17,000 of system with Microsoft ~ that $270 per VM for Microsoft, against $1268 for per VM for VMware. And with physical RAM for every byte the VMs see, the Microsoft system will perform better.
(To save smarter readers from pointing it out, a $6,000 server might run out of steam between the 7 VMs initially supported, and 63 VMs. The VMware work assumed there would enough CPU, DISK and network resource and the system would be RAM limited. If 14 VMs is where CPU becomes a limitation then we’d be looking at a 4GB upgrade costing £260 /$500, so the Microsoft system would come out about $5,250 cheaper for the same VMs – that’s about $375 per VM.)
That’s the argument ? Over $5000 of VMWare software is a good investment because it saves $500 on RAM ?
Further Cooking the figures. If you have a Microsoft support contract Microsoft Virtualization Software is covered. One of my colleagues tells me that VM platinum support for 3 years, would add $3666 to the total cost. I haven’t checked this numbers but divided over 14VMs that’s $261 per VM for VMware support… yes you read the numbers correctly support for VMware costs nearly as much per VM as the hardware, software and for the Microsoft solution. That’s before you allow for training, maintaining a separate management infrastructure for the virtual world, and so on.
If someone can show me a customer who is running, in production, a VMware VI3 Enterprise system with a 2:1 memory overcommit ratio on all the VMs, where spending the cost of VMware on RAM wouldn’t remove the need to use overcommitment then I’ll give… lets say $270 to their choice of charity. ***
Update. Someone asked me to remove a term which is OK in British usage, but tends to offend other English speakers.
* Foot note 1. Yes I know who wrote that, and I’m not going to suggest that VMware have been reading him. Like me, someone there might collect books of quotes and aphorisms.
**Footnote 2. As one of the commenters to the post points out VMware’s published recommendation is "Make sure the host has more memory than the total amount of memory that will be used by ESX plus the sum of the working
set sizes that will be used by all the virtual machines." I.e. Don’t use this feature, if you want decent performance.
*** One offer only. Void where prohibited. Over 18s only. My cause drowsiness; if affected to not operate virtual machinery. etc.