When I'm asked about virtual desktop infrastructure (VDI) and where the technology fits in IT today, I repeatedly find myself saying, "VDI is a red herring." It's a bold statement, but an important one because I want people to seriously consider the impact of moving to VDI.
This is particularly critical considering that other -- sometimes better, but definitely less "hip"-- technologies have been available for years that accomplish the same remote application goals. This tip explains the place of VDI in a data center, what you can expect with a VDI deployment and a few alternatives to VDI that will give you the same kind of functionality.
The three core VDI components
VDI -- aka "hosted desktops," aka "server-based desktop virtualization" -- has several names for what amounts to a similar set of technologies. And there is no one technology that constitutes VDI. Creating a VDI environment requires the integration of several individual technologies into an overarching service for users. Specifically, VDI requires the following three categories of technology:
Virtualization. In VDI, a "hosted desktop" is essentially a virtual machine (VM) that exists on a host in your data center. A virtual platform such as VMware ESX or vSphere, Citrix XenServer, or Microsoft Hyper-V is required to host a desktop.
Transport. Once a VM is created in your data center, you need a mechanism to connect a user to it. Typically, this kind of transport is executed with a thin protocol such as Microsoft's Remote Desktop Protocol (RDP) or Citrix Systems Inc.'s Independent Computing Architecture (ICA). Both are designed to operate with low network bandwidth and are moderately intolerant of network latency.
Orchestration. This is the glue that holds the environment together. A VDI deployment requires a set of application logic between users and their VMs so that the right user is connected to the correct desktop. This component usually contains the management consoles needed to provision, decommission and make changes to virtual machines.
Advanced VDI architectures add technologies for user workspace construction, prompt application delivery, clones and clone management, and other goodies. But these are the three core components that'll get you started.
Presentation virtualization vs. VDI
With this information in mind, I am specific in my responses to questions about VDI because the technology does have its place in data centers. But I find that VDI's "cool factor" often influences implementations that could be more efficient using alternative technologies.
One such "alternative technology" is presentation virtualization, which is typified by Microsoft's Remote Desktop Services (formerly Terminal Services) and Citrix XenApp (formerly Presentation Server). Presentation virtualization consolidates dozens or hundreds of users on a single server with one or more of the applications needed by those users installed to that server. Presentation virtualization is an excellent option for numerous reasons:
Applications are installed only once. In presentation virtualization, multiple users share the same application instance. So if you need to update an application, you can perform the update in one place and all users benefit immediately.
User resource needs are light. The resource needs for a particular user in a presentation virtualization environment are limited to hosting a user's shell and what is needed to run a user's applications. Some platforms even provide mechanisms to share these resources among multiple users in order to increase the user density on a single server.
Administration occurs at the individual server level. Since multiple users share the resources of a single system, server administration is performed at the server level.
Presentation virtualization technologies are mature. For more than 10 years, presentation virtualization technologies have been in the marketplace. Platforms like Terminal Services and XenApp are mature, stable, well known and easy to understand by technology generalists. Simply put, you don't need expensive consulting services to construct a Terminal Server deployment.
Now compare what you receive with presentation virtualization with your current experience with a VDI deployment:
Each hosted desktop is managed as a separate entity. This means that to maintain 500 hosted desktops, you have to individually manage all 500 of them. Also, remember that your users need to connect to these desktops through some mechanism -- such as their existing physical desktop -- so it's entirely possible that you could double the number of endpoints you need to manage.
Applications are installed to each separate virtual machine. VDI patches, applications and configurations are all installed to individual VMs. This means that applications and their associated updates must be managed individually. Although some VDI platforms include software that automates much of this functionality, the degree of diligence needed to monitor all your instances increases dramatically by using it.
User resource needs are heavy. Whereas presentation virtualization technologies enable greater user density with their intrinsic level of resource sharing, VDI requires virtual machines to operate like typical VMs. This means that if you want 500 VMs, each with 2 GB of RAM, you need some percentage of 1 TB of RAM to support them all. Again, some VDI platforms support memory-sharing technologies that reduce this number. But even cutting it in half (a ratio that's suggested in some products' marketing documentation) makes 500 GB of RAM a requirement. Supporting users' processing and RAM requirements requires an equivalent increase in server equipment as well.
VDI technologies are nascent. The bits and bytes needed for a VDI deployment are relatively new to the market when compared with presentation virtualization technologies. This means that managing your VDI infrastructure incurs the added costs associated with inefficiencies and updates as the technologies grow into their own.
Where VDI trumps presentation virtualization
This article may prompt you to think that I'm opposed to VDI technologies. This could not be further from the truth: VDI environments have a useful place in today's data centers if you consider exactly how and where they should be deployed.
In short, it's all about the applications. Specifically, there are two use cases that stand out as smart implementations for VDI: Support of legacy applications and highly specific mobile work environments that use resource-intensive applications.
First, consider the concept of application support. Unfortunately, every presentation virtualization technology has a common drawback: Some applications simply won't work on them. This means that a large number of legacy applications aren't good candidates for hosting on Terminal Services or XenApp. The reasons for their inability to host these applications include bad installation structures, incompatible drivers and a stubborn refusal to use established best practices for coding.
Another major problem with applications is that some cannot be upgraded to work with newer OSes such as Windows Server 2008. In the future, this group of applications will prove particularly problematic because Microsoft has announced that Windows Server 2008 RTM will be the final server OS version that it will release in 32-bit mode. This means that our ancient 16-bit applications will no longer install, so hosting these applications with VDI on older OS versions is a smart move.
The other solution is more hazy. Some environments have applications that work well with technologies like Terminal Services, but their processing consumes vast amounts of system resources. Developer applications used during code builds, GIS toolsets and CAD apps are all applications that can function in presentation virtualization environments, but they don't work optimally when shared with other users on a server. These applications work best when they're installed directly to a user's desktop and use local processing power.
Mechanisms such as System Center Configuration Manager and App-V provide the administrative automation necessary for placing these applications on the correct desktops. But these options work best when users aren't roaming. In some environments, employees need to use these kinds of applications remotely, but with the security -- among several other benefits -- gained through centralization and remote access. Consolidating these otherwise complicated applications into a hosted desktop and sending their screen updates over the wire with a thin protocol like RDP or ICA obviates presentation virtualization's resource contention problems.
In short, be careful with what you read about VDI's place in your organization. It's entirely possible to provide a segregated mobile desktop for each of your users. But you have to ask yourself if this is a practical option for your enterprise considering the duplication of desktops and other administrative complexities that arrive with VDI.
But if VDI is a good fit for your organization, you're in luck because this is the first in a series of four articles on VDI. The next covers how to implement VDI at low cost with Windows Server 2008 R2.
ABOUT THE AUTHOR:
Greg Shields, MCSE, is an independent author and consultant based in Denver with many years of IT architecture and enterprise administration experience. He is an IT trainer and speaker on such IT topics as Microsoft administration, systems management and monitoring, and virtualization. His recent book Windows Server 2008: What's New/What's Changed is available from Sapien Press.