Most people know by now that XenDesktop supports three virtualization platforms with VMware ESX being one of them. However, there are at least four different editions for ESX. Even if you have decided to use ESX for all or part of the XenDesktop deployment, which edition do you really need? Can you stick with 3.5, or should you use 4.0? As part of the CSC Dynamic Desktop offering, we have researched what virtualization features are useful in a XenDesktop deployment and here are the results.
Before I continue further, I want emphasis that I am focusing on which version and edition is needed to host the XenDesktop virtual desktop VMs. The XenDesktop server infrastructure components such as the DDC, XenApp and Web Interface should follow the same policy as your other server VMs. Since server and desktop VM requirements differ quite a bit, it can make sense to use one virtualization platform for servers and a different one for desktops.
Since your virtual desktop VMs have different requirements, what ESX features are beneficial in a XenDesktop environment? The following is a list of those features with a brief description of their functionality and what ESX edition is required. Except where listed, each feature is available in both ESX 3.5 and 4.0.
|PXE / Boot ISO Support - The Provisioning Services component in XenDesktop communicates with the virtual desktop VMs during boot via PXE or a boot ISO.||Standard|
|XP & Windows 7 Support - Support for running Windows XP and Windows 7 VMs.||Standard|
|Memory Ballooning - This allows for free memory in each virtual desktop VM to be used in other VMs and the ESX host using a balloon driver run in the VM. This feature is useful in cases where extra capacity is needed such as when another ESX host fails.||Standard|
|Transparent Page Sharing - This is another memory saving feature that identifies duplicate memory pages across VMs on the host and only stores a single copy. This consumes extra CPU cycles to identify the duplicate pages but this is adjustable. Depending on your needs you may not want to use this feature.||Standard|
|vStorage Thin Provisioning - With thin provisioning you only need storage for what data is being used rather than the actual formatted capacity. This works well for the PVS write back cache when the storage device does not support thin provisioning.|| Standard
|High Availability - This feature is useful in an assigned XenDesktop environment where each user is assigned their own virtual desktop VM. If the ESX host running their virtual desktop goes down, their desktop would be restarted on another host.||Standard|
|vMotion - This features allows an administrator to manually move a running VM from one ESX host to another host which usually has less load. This requires that the hard disks for each VM are located on shared storage.||Advanced|
|Dynamic Resource Scheduler (DRS) - DRS dynamically allocates and balances the virtual desktop VMs across a resource pool. This feature basically automates the vMotion feature listed above.||Enterprise|
In summary most of the features are available in ESX Standard which retails for around $1590 for a dual-socket server. Paying an extra $2900 gives an administrator the ability to manually rebalance VMs across the ESX hosts via vMotion and an extra $4160 (compared to standard) provides automatic load balancing of VMs. Taking a ballpark conservative estimate of 50 users for the latest dual-socket server the cost per user is about $32 retail per user for ESX standard, $90 for ESX Advanced and $115 for ESX Enterprise.
The next logical question is if it is worth an extra $83 per user to be able to dynamically load balancing running virtual desktop VMs across ESX hosts? In some cases it will be, but for most cases if you need to use ESX in a XenDesktop deployment, ESX Standard is the better choice. The additional thin provisioning functionality in 4.0 does not usually justify an upgrade from 3.5 especially if this functionality is supported in your storage device.
If you are using XD with ESX, what version and edition are you using? Are there any other features that you find useful for managing your virtual desktop VMs? Feel free to leave a comment or you can contact me via email.