Desktop Virtualization is about user experience and agility, Server Virtualization is about consolidation and cost savings. It’s amazing to me how so many people still confuse and believe Desktop Virtualization is just a straight forward extension of Server Virtualization that will just naturally evolve from their existing Server Virtualization infrastructure, without realizing that these are two very different use cases requiring a different approach.
In my second month as CTO of our XenApp business at Citrix, I have been able to talk to a range of people about their desktop and application virtualization strategies. Some are brand new Citrix customers, some are not even aware that Citrix is so much more than thin client remote access and some are real thought leaders who challenge my thinking everyday. Having been a customer at numerous top tier Wall Street firms and implementing Citrix technologies for many use cases including Desktop Virtualization at scale. I’ve lived through the pain that this sort of thinking causes in the real world and feel it’s time to share some experiences and to help my twitter followers decipher some of my cryptic Desktop Virtualization!=Server Virtualization tweets.
In the physical world, do your server administrators manage your desktop infrastructure?
Let’s start with a basic question. If you are a very small shop, perhaps a single administrator does it all. However as you scale up, different teams start to form to address specialized use cases acquiring specialized skill sets along the way. Even at the smaller firms I’ve worked at, the backend operations folks very quickly separate themselves from the front office folks. The workflows and mindsets of these people are quite different. Let’s diverge for a second and think about how security teams function in an enterprise vs. let’s say the server team. Does the server team care about security? Sure. Would the server team let the security team design their server infrastructure? Of course not! Why? I’d hazard a guess that a super secure inflexible system would be developed by these folks that would be too slow to react to dynamic business needs. In other words overkill, despite the best intentions of a security focused person. This why desktop teams design desktop experiences……..
The management workflow for desktops is different.
It has been my observation that even in large enterprises that have invested in server virtualization, they don’t reboot thousands of servers at the same time. They usually schedule these events in small clusters during maintenance windows to avoid impacting many users who share servers. Desktops however are a different animal. After every patch Tuesday, I’d want to reboot all of my machines in large batches, just like I do today in the physical world as they impact only single/limited users. This type of reboot scale quickly puts a demand on the virtualization infrastructure that it is usually not designed for in a server world. In other words the Hypervisor workloads are very different and you have to worry more about many VM’s performing the same operation at around the same time (e.g. OS/anti-virus updates).
Desktops require a different security model.
Taking the same example, desktops require a lot more flexibility with reboots. A lot more ad-hoc user driven reboots happen. This usually breaks the often rigid administrative and security permission model in the server virtualization world, which serves a different purpose. I recall many a debate as to why reboot permissions on the virtualization infrastructure needed to be allocated to the helpdesk to support Desktop Virtualization users. Something that was a struggle for Server Virtualization teams to accept as they were of a mind set that servers were highly controlled environments. Brut force did the trick in the end
Desktop scale means rethinking your virtualization infrastructure.
Think about the number of desktops you have in your organization vs. the number of servers. If you have 2000 server VMs one would most likely say that’s a lot of servers, but would not say that for 2000 desktops. If you had 10,000 desktops that’s a decent amount that is not uncommon at many customer sites. However 10,000 servers would be considered to be a very large server site. Therefore if you want to invest in Desktop Virtualization at scale, it’s a totally different ball game when it comes to managing and scaling the virtual infrastructure. Regardless of Hypervisor choice, I found I had to split away from the core server team design and develop an infrastructure that would support a desktop experience at scale.
Optimize virtual infrastructure for user experience.
Delivering a desktop user experience requires you to focus on minimizing response time instead of maximizing throughput like server virtualization. There is also a greater burden to support virtual peripherals, and VM Management is far more critical. In my experience this was like talking alien to the server guys, and they just couldn’t get their head around it or just couldn’t be bothered accommodating this desktop thing in their server virtualization design, I still haven’t figured that part out………..
Desktops management is different and does not require the high end features of Server Virtualization that add to cost.
As I was writing this I came across Brian Madden’s blog today that touches upon this point. Based on what I have seen I agree most of the bells and whistles that people get excited about with server virtualization, just don’t apply to Desktop Virtualization and add to costs and complexity. For example live migration on a desktop is such an edge case that I just don’t buy the investment justifies the gain. To me this is a desktop use case. I remember many debates arguing how best to implement Desktop Virtualization. The best piece of advise I got from one of my mentors was to think of this as ‘it’s a desktop’. Be very clear this is a desktop, and understand that is what you are trying to implement. Don’t overcomplicate things that you wouldn’t normally do for a desktop. If you get your organization to understand this and behave accordingly I believe it will resolve many debates about how best to implement. Simply put your questions and actions in the context of it’s a desktop.
So I hope many of you will now begin to develop an appreciation for why Desktop Virtualization is not Server Virtualization. You can’t force a round peg into a square hole. They have different drivers. Desktop Virtualization is about user experience and agility. Server Virtualization is about consolidation and cost savings. With these very different goals in mind it will be no surprise to me that trying to implement Desktop Virtualization with a Server Virtualization mindset is highly likely to result in frustration. Desktop teams know what it takes to deliver a desktop experience. While it’s true that there is overlap with traditional server roles, this is just an organizational evolution that will happen over time IMO. Desktops guys after so many years playing PC jockey are relevant again and will need to become empowered to create successful Desktop Virtualization implementations that are designed from the ground up to deliver a desktop experience. Don’t forget it’s a desktop!