The utopian vision of a fluid and easily managed desktop infrastructure has floated around IT since the dawn of the desktop era. There have been many attempts at corralling the desktop hydra, but none have provided a universal solution. Microsoft Terminal Services, Citrix XenApp, and a host of others have found markets, but the quest for desktop salvation continues.
Enter the newest comer: VDI (virtual desktop infrastructure).
[ Get the full scoop on implementing VDI in the InfoWorld "Virtual Desktop Infrastructure (VDI) Deep Dive" PDF special report. | Better manage your company's information overload with our Enterprise Data Explosion newsletter. ]
At its simplest, VDI is nothing more than one desktop VM per user, running on top of a hypervisor. As with server virtualization, each desktop VM is assigned RAM, disk, and I/O resources, and a full installation of the OS resides on the virtual disk. The user interacts with the desktop VM using a remote display protocol such as Microsoft's RDP (Remote Desktop Protocol) or Citrix's ICA (Independent Computing Architecture). The client is generally a diskless, power-sipping, thin client system that does little or nothing more than connect to the VDI infrastructure.
The result of this and other server-based desktop computing solutions is that the core of the functionality -- and all the precious company data -- is contained within the data center, not spread far and wide among cubicle farms or across many miles to remote sites.
By centralizing desktops, you simplify administration and security and remove the need for such basic desktop maintenance as replacing failing power supplies, hard drives, and so forth. Power consumption is also reduced, and in some cases, cooling costs for dense office spaces drop due to the removal of all those fat client systems and their 350-watt power supplies. The upside can be substantial.
Devils in the VDI details But there are definite downsides to VDI. Some of these issues are found in other server-based desktop computing solutions but affect VDI implementations as well.
Let's start with the most important issue of all: user acceptance and overall performance. Each VDI instance may be fast and snappy while performing relatively mundane tasks like word processing, emailing, or running spreadsheet formulas, but they can suffer mightily when confronted with rich content like Flash applications, videos, or other multimedia applications. This is generally due to the desktop display transport protocol rather than the performance of the VM, but that only makes the problem harder to solve. Very public problems may arise with user acceptance, which is generally the death knell of any large project.
The solutions to this problem can be costly. Some vendors combine efforts on the server and client side and ship audio and video streams alongside the display protocol, matching them up at the client end and using the client's processing power to render the video. This results in much cleaner playback, but requires a more powerful and expensive thin client to handle the extended workload.
Such solutions work well for standard video playback, but they still have issues with Flash video and Flash applications. It's easy to test the performance of VDI or any other server-based desktop computing solution that uses the standard RDP protocol: Just use the Microsoft Remote Desktop Connection client to connect to a server or desktop system and try to view a video on YouTube. It may play reasonably well if you're using a 100Mbps or faster LAN, but it's simply a nonstarter over anything less than that. Generally speaking, watching a video across an RDP connection requires 3.5Mbps of sustained bandwidth.
Bandwidth concerns may dog any form of server-side desktop computing, such as serving desktop sessions across WAN links (a classic scenario for high latency and/or low bandwidth). Printing and proper mapping of USB devices may also be problematic. These issues can be sorted out with the right combination of tools and budget, and aren't exclusive to VDI, but they need to be addressed during VDI planning phases.
Other issues are clearly VDI-specific. The first and most significant: storage requirements. Some VDI implementations require that every desktop system have a virtual disk like any other VM. When you factor in 8GB or 10GB per desktop VM, multiplied by the expected VDI user count, storage quickly becomes an expensive issue. Also, it should be noted that VDI does very little to reduce desktop software administration requirements, because each VM is an island that must be managed like any other desktop system. That means using third-party tools to push updates, install software, and make changes.
And then there's cost. On one hand, VDI may leverage an existing virtualization infrastructure, possibly low­ering the initial hardware cost below other server-side desktop computing solutions. But once you've broken through the layers of software licensing required for VDI, you may find that it eventually evens out. Depending on the solution you choose, you could wind up paying more per desktop VM than per traditional fat client system, with the ROI pushed pretty far out. It's vitally important to run all of these numbers before you jump into any VDI implementation. Factor in thin client costs, implementation costs, licensing, and expansion of an existing virtualization infrastructure.