There’ve been some interesting discussions about VDI recently and many of these discussion share a common theme – that VDI is not all that it was made out to be and that there are better ways to deliver desktops to your users “anytime, anywhere”. This line of thinking has existed for some time but has recently come into vogue after years of pent-up and cynical disillusionment as a result of overhyped VDI promises and underwhelming results. Understanding where this hype came from will be instructive in learning the mindset of most organizations starting VDI implementations and why many of these implementations haven’t lived up to the promises and have failed from a technical and user acceptance standpoint.
I’ve lost track of the amount of people I’ve talked with over the years that want to pursue VDI with the following justification, “We had so much success with server virtualization that virtualizing our desktops just made sense”. In fact, hearing this statement just this past week is what prompted this post. At a cursory glance, this reasoning does have a common sense appeal, however, the devil is in the details and it is precisely this reasoning that has led so many people astray in regards to VDI. Why might this be? Because server virtualization is a freak of nature! Very few things in life become cheaper when more features are added (as other commentators have noted). In moving from physical to virtual with a server infrastructure, an organization not only saved money with server consolidation and power and cooling but also added some extremely valuable features that just weren’t available to them before. Things like server mobility, easier disaster recovery, rapid server deployment, etc. all added tremendous value to server virtualization on top of the financial benefits of moving to such a solution. With the success of server virtualization in hand, many organizations rushed headlong into VDI deployments thinking they would get the same benefits at the same low cost with the same level of ease because hey, desktops are easy, right? Sensing the excitement building around this “next stage of virtualization” vendor marketing departments went into overdrive hyping VDI and touting its technical benefits and cost effectiveness just as they did with server virtualization. At that time, the unique workload characteristics of desktops and how that would translate to a virtual, shared image environment had not been taken into account by those already experienced with server virtualization (myself included).
In reality, virtualizing your desktops is not “easy” and the success of a server virtualization project by no means guarantees success in setting up a virtual desktop infrastructure. The technical differences between these two technology domains are significant and important to note. For instance, in most server environments, you’ll have large amounts of idle servers at any given time. Desktops, however, are busy all the time with user activity. Adding to that, the user “lives” in the virtual desktop, so that any lag in performance, any delay in mouse clicks, will be immediately noticeable. Since you’ve virtualized your desktops, the user still expects the same level of graphical performance as their local PC, whether they’re viewing work related material or not. And how many of your servers average 20-30 IOPS on a continual basis? Many of these problems simply didn’t exist with server virtualization. Servers remain online almost all the time, with VDI however, desktops are rebooted on a regular basis and can lead to boot storms. With server virtualization you installed one application per server, with VDI, users want to install their own applications (UIA) and you have a whole assortment of “long tail applications” that you have to develop a strategy around. Adding to these VDI complexities are profile and “user” management, printing and more.
Server virtualization is an anomaly and the prevailing opinion of desktops as a lesser form of server has lulled the masses into thinking VDI would be a piece of cake. The bottom line is, VDI is not “easy” and this line of thinking has led to many failed VDI implementations. While the technical challenges listed above and previously on this website and others are very real, these would never have “surprised” anyone or even been a problem if planned for and designed carefully.
Paradoxically, while the conflation of desktop and server virtualization and the “desktops are easy” mentality has contributed to so many failed VDI implementations, I am convinced that these failures simply wouldn’t have happened if VDI had been implemented in a similar fashion as server virtualization. No one started a server virtualization project with a “virtualize everything” mentality. Server workloads were carefully analyzed to determine the best candidates for virtualization. After these “low hanging fruit” servers were identified, IT departments slowly worked their way up to more resource intensive servers with unique workload characteristics. In the end, some servers remained physical and this was fine because it was anticipated as part of the overall strategy. A similar strategy should be taken with VDI. Develop a comprehensive desktop and application virtualization strategy. Create application and user catalogs to determine where your users and applications fit into this strategy. Then, start with your “low hanging fruit”, your call centers or task workers and slowly work your way up to “knowledge workers” with more unique and demanding requirements. Ultimately, you may end up with some users who remain with physical desktops. Careful planning and a realistic level-headedness will result in a successful VDI implementation. Knowing what VDI “is” and “is not” is essential in determining your end goal for such a project and setting expectations about what VDI will do for your organization.
Appendum: While doing some research after writing the above post, I ran across a presentation by Ron Oglesby where he raises similar points. As always, it’s a great presentation. Here is the link, enjoy!