VDI vs. Session Virtualization
Let’s say a business has a number of workers who have task-specific roles and tend to perform the same set of tasks each day using a small set of applications. Because they work in shifts, it doesn’t make sense to assign a desktop computer to each worker. Instead, a flexible seating arrangement is needed where a worker comes in, sits down at any available computer and begins working.
Should you bite the bullet and jump on the virtual desktop infrastructure bandwagon, or is there an easier (and less expensive) solution that can meet your business’s needs?
The Pros and Cons of VDI
VDI basically refers to a computing architecture whereby a user has access to a virtualized instance of a client operating system, such as Windows 7, that is actually running on a back-end server instead of on the user’s endpoint device.
VDI solutions can be implemented in two ways: personal (each user has his or her own virtual desktop to customize as desired) or pooled (virtual desktops are shared by users and revert to their pristine state when the user logs off). VDI solutions are available from several manufacturers, including VMware, Citrix and Microsoft, but in many ways VDI is still an emerging technology that continues to evolve.
VDI also offers several advantages over the traditional desktop PC approach to computing. For example, VDI can increase the agility of a business because it allows users to access their virtual desktop environment from different kinds of devices, including desktop PCs, notebooks and thin clients. VDI provides flexibility by allowing users to roam, and it also enhances business continuity. If the user's device fails, the desktop continues running in the data center so the user can reconnect to his or her desktop from a different device.
Security is also enhanced by using virtual desktops. First, all virtual desktops running on the same server are completely isolated from one another, so a failure or infection of one desktop won’t directly affect others. And second, sensitive business data are safely stored in the data center instead of on users’ PCs.
But there are also some drawbacks associated with the virtual infrastructure. VDI solutions are generally complex to implement and have high capital expenditures because of the cost of high-end server hardware and software licensing.
VDI also requires constant, good-bandwidth network connectivity between the endpoint devices and the back-end servers, so it’s not a good fit if offline mobility is required or if branch offices have slow WAN links to the data center. And if you implement pooled VDI (the most common approach), then two systems management infrastructures are needed: one for the pooled VDI environment and one for everything else (desktop PCs and notebooks).
The Pros and Cons of Session Virtualization
If you have doubts now about whether VDI can meet the needs of the task worker environment described above, you're not alone. But if VDI isn’t the cost-effective solution for these workers, what is?
The answer is session virtualization. If you're not familiar with the term “session virtualization,” then maybe you’ve heard of Terminal Services. Terminal Services, which has been around since Windows NT 4.0 and is now known as Remote Desktop Services (RDS), allows users to access individual applications (RemoteApp programs) or entire desktops (remote desktops or “sessions”) running on a server in a back room. Every administrator is familiar with this technology in one form or another.
Because it’s been around for many years, session virtualization is a reliable, mature technology. It’s simple to implement and it doesn't cost much, either — the capital expenditures can be much less than it is for VDI implementation. Session virtualization also scales better than pooled VDI — that is, a single Remote Desktop Session Host (RDSH) can support more users (typically twice as many) as the same server used for hosting virtual desktops.
To see some benchmark results, check out this whitepaper. Because remote desktops run on back-end servers, they sound a lot like the virtual desktops used in VDI environments. What's the difference? For starters, these remote desktops are instances of the server OS, such as Windows Server 2008 R2, and not a client OS like Windows 7. That's generally not a big issue because Windows Server 2008 R2 can be configured to look and feel like Windows 7.
But it can be a problem if some of the applications users need to access remotely won't install on a server version of Windows. If that's the case, you can use App-V for RDS to deliver these applications to users. App-V for RDS is included with the RDS client access license (CAL), but it does involve some additional configuring on the back end.
Another possible disadvantage of the session virtualization approach is that sessions are not completely isolated from one another on the server the way virtual desktops are. With session virtualization, the users share the operating system and applications installed on the server; with VDI, each user has his or her own separate operating system instance with its installed applications.
While this might have been a concern in the earlier Terminal Services because it meant the load imposed by one user could affect the experience of other users, the latest version of Remote Desktop Services includes new features such as Fair Share CPU Scheduling , which ensures one user can’t starve other users of their fair share of the server’s resources.
What’s the Verdict?
It seems clear that VDI is not the one-size-fits-all solution that many manufacturers are touting it to be, so don’t rip out your old infrastructure and replace it in its entirety with VDI just yet. Instead, think of VDI not as a method for reducing the overall TCO of your computing infrastructure, but as a tool for targeting specific business needs.
For most scenarios where pooling VDI should be considered, it’s probably far better from a cost and manageability perspective to implement Terminal Services (Remote Desktop Services) instead. And that includes not just your typical task-worker environment — session virtualization can also be a good solution for delivering applications remotely to knowledge workers who have their own desktop PCs.