VMware VDI
I had the chance to spend the morning being briefed by VMware on their current VDI offerings and their longer term roadmap, a lot of it is NDA but it’s useful to take a look at the broad themes and to contrast their approach to that of Citrix and to the issues we are seeing in the enterprise VDI market.
The good
- The core hypervisor is clearly very mature and the most widely used for VDI. However it seemed to me that the opportunities for VMware to further increase desktop density/core was pretty limited now, from now on we really need to rely on Moore’s law.
- Memory over commit, this is a nice feature, to decrease memory costs, but my impression is that impact on overall TCO is pretty small
- USB, VMware have written their own USB support, the team have tested a very wide range of USB devices, iPhones, iPods, Blackberries, Scanners etc – they all work, even though not many of them have yet made it all the way through the rigorous VMware QA process
- Users who install apps, most VMware VDI customers today have a significant number of users who install applications. The Citrix Provisioning Server model’s not really suitable for this, although there’s some very interesting third party activity around virtualising end user installed applications at the time the user installs them, this would allow a users installed apps to roam with them from one pooled non-persistent PC to another, and potentially also into XenApp and Physical Desktops.
- The Wyse multi media redirection extensions have been licensed to mitigate some of the limitations of RDP
The potential
- The cloud – I was most impressed by the mid term potential of the cloud services capabilities. More specifically the ability to describe the characteristics and SLA requirements for a Virtual desktop workload, and its associated infrastructure servers. This would in theory allow us to have a general purpose VMware cloud onto which we could deploy virtual desktops as “just another workload” but with the confidence that all of our SLA’s would be met. In this model as our environments scaled and performance characteristics changed over the years, we would just make metadata changes and the cloud would adapt to the changing workload automatically.
The current approach is to have a server infrastructure that’s optimised for the virtual desktop workload at the physical level which is fine for now, but not so flexible in the long term.
- vmSafe, I really like the idea of taking the anti-malware protection out of the VM and running it on the infrastructure. Not only does this remove the need to keep running VMs up to date with changes to Antimalware signatures etc, but it should also be more efficient and make it much quicker to respond to a critical events. However it’s only a nice concept right now.
The stuff I’m not so sure about
- The protocol – One of my biggest concerns, currently VMware are taking a variety of approaches, using and extending RDP and then also supporting the PC over IP protocol from Teradici both in software and hardware. My initial impression is that it’s going to be a long time before VMware has a protocol story that’s as flexible and performant as Citrix has with ICA. In our case where we have a very wide variety of use cases to support, Citrix allows us to use one protocol for all of them.
- The broker – improved in that it now supports access to anything that supports RDP, including physical blades, terminal servers and distributed PCs – however there’s no ICA support or Wake On Lan support for distributed desktops that makes it only useful in a few scenarios.
- Bare Metal (type 1) hypervisor – I like the idea of a client side hypervisor, I can see that within a year we will have PC’s with all the characteristics of thin clients (low power, no moving parts, cheap, secure, stateless etc) but to which we can stream the OS (we can already “stream” everything else), however these don’t really need a hypervisor – Citrix provisioning server can do this to physical “thin PCs” now and seems a very good solution, even better when it gets integration with Wan Caches.
Where I do see client side hypervisors being popular is the employee owned notebook PC, unfortunately the first release of the VMware bare metal hypervisor will only support a singe VM, so it’s not going to be that attractive for employee owned use cases, also its likely to only support a small subset of laptops, most likely also requiring vPro, and these are likely to be too expensive for employee purchase.
- Offline VDI – VMware has another (Type 2) client side hypervisor solution, currently available as an experimental release. This works on the idea of the user having a Physical PC and a VDI PC and then when they need to go on the road they can “check out” the VDI PC – download it to their Physical PC and then check it back in at some later date. I’ve always been a bit surprised by this use case, mainly because almost all the VDI deployments I see are for locked down PCs.
For a locked down VDI PC – the whole virtual PC image doesn’t flow down to the client, only the users apps, config and personality, and all that needs to flow back up is the users personality. The config can flow to the client using something like AppSense which can also copy the users personality back to the server as well. The users apps can flow down to the client device using Application Streaming. This just leaves the Virtual machine itself, in the locked down use case it’s always the same master image the flows down to the users PC, nothing gets copied back. So this is really Operating system streaming and caching, similar to virtual app streaming and caching.
The benefit that VMware has is a solution that works for locked down and non-locked down PCs and its available now. However the more elegant model is where we dynamically compose the users offline VDI PC from separate OS, App, Config and personality streams and then persist just the Personality back on the server. Why’s this more elegant? because it allows us to use the same, apps, config and personality to dynamically compose physical PCs, client and server hosted virtual desktops, and Terminal Server Apps and Desktops.
Final thought though is that VMware approach will also be easy to extend to user data, sitting in a virtual disk, so whilst I have some concerns over it’s elegance, it’s a pragmatic approach.
- Cloning, the new cloning support is a big improvement, but I still feel that cloning at the storage layer is a better idea. For example the Offline VDI stuff doesn’t currently work with the View Composer cloning technology, however I’m guessing that it would work just fine if the cloning were done by the storage infrastructure.
I’m also pretty amazed by products like ILIO from Atlantis that looks to the hypervisor just like storage, but actually does amazing image management behind the scenes.
- Thinstall, I think ThinStall has some great use cases, but the fact that it doesn’t support dynamic caching in the virtual machine makes some use cases problematic, particularly the Offline VDI and OS streaming ones. Also it seems to me that precaching virtualised apps in the Citrix provisioning server image would probably be faster than thinstall “streaming” from a network file system, but I’ve no lab results to support that view
- User personalisation, VMware personalisation ideas are currently focussed on Virtual Machines. I like the AppSense/Res approach that allows for the users personality to be injected into physical desktops, client and server hosted virtual desktops and terminal servers/XenApp.
- Configuration, I’ve not seen anything from VMware around OS/User and App configuration
The biggest challenge I see to any form of “offline” VDI that works in a check-in/check-out scenario is the question of what makes you check anything back in. Why would you bother? You already have everything you need?
@graham, I agree. Thats why I prefer the pattern I described, rather than have only one Personal Virtual PC that moves between client and server, you just stream your personality into a standard PC image and then save personality modifications back to the personality server (transparently). That way no matter whether you are working on client or server or both at the same time your personaility is always sourced from a single location.
As to why you might want something other than the client hosted virtual desktop, there are a few examples:
– You need to be closer to the data for performance
– You need a faster PC, more CPU or memory
– Your device client fails
– You don’t have your client PC with you