Virtual desktop infrastructures have advantages, but there can also be unexpected costs and complexity. Colin Smith considers some of the questions you should answer before choosing VDI over terminal services or physical systems.
The last few years have seen a lot of hype around the virtual desktop infrastructure (VDI) space with some heavyweight players pushing their solutions. In reality, VDI is just a special case of remote desktop in which the user doesn't share a multi-user OS. I've been a fan of remote desktops since I started working with WinFrame over 15 years ago. Since then, various flavours of terminal services have become a very mature, well understood solution.
With all of the momentum behind VDI deployments, organizations are beginning to realize that with the advantages come some unexpected costs and complexity. One of the biggest challenges is managing VDI deployments. In theory they should be easier to manage than legacy physical desktops, but the management tools for physical desktops are very mature, well understood, and in many cases, already in place.
An unexpected side effect of this realization is that many organizations are re-evaluating whether Terminal Services (TS) might be a better fit for them than VDI. As Brian Madden has said for years, it really comes down to understanding specific use cases.
Here are some questions to answer to help you understand your use cases and whether TS or VDI is an option over physical systems:
- What applications do your users need to run? This is the fundamental step in understanding your use cases. Without an understanding of what applications are in use and how important they are to your users, you can't make rational decisions about delivery models.
- Do they lend themselves to being run remotely in the datacenter? There are many reasons that applications may not be good candidates for remote execution. Consider applications like CAD/CAM or multi-media applications that are heavily resource intensive.
- Can the application run in a Terminal Server environment? Does the application require administrative rights to run? Does it require some special hardware like a dongle or USB key? Does the user need to reboot the system or install drivers?
Application virtualization like App-V and ThinApp can help overcome some of the application issues but they present challenges of their own:
- Is it even technically possible to virtualize / isolate / stream the app?
- Is application virtualization sufficient or does the virtual application need to be on a remote TS or VDI desktop?
- Do you need dynamic application installs?
- Do you have a stateless user environment or stateless desktop?
- Does everyone need the app, or just some users?
- How hard is the application to manage? Is it worth virtualizing?
- How many other apps will run locally in the context of this app?
- Do you need the raw application performance?
- Do users need to access the application from non-Windows clients? What types of clients?
- Will the application ever need to be used from a client device with no network connection?
- Does the application need access to back-end data to be used? How much data?
- Do users need to start the application quickly from new devices?
- Does the application need to access data that's stored locally on the client device?
- Does the application need to integrate with other applications? Where are those other applications?
- Do you need to ensure that data stays off the client device?
Physical, TS or VDI?
Layering multiple virtualization techniques provides the possibility of eliminating many of the application compatibility issues that have been associated with terminal services in the past.
We often see multiple terminal servers running as VMS on a type 1 hypervisor and the applications running on the terminal server are virtualized using App-V or ThinApp. If OS compatibility is an issue, Med-V can be used.
Physical devices are a good choice when you need raw performance or access to the physical hardware. Until recently, If systems aren't always on the network TS and VDI were not options, but Citrix has recently started supporting offline VDI.
VDI is a good choice for environments where system state must be preserved, advance rights are required, or user isolation is an issue.
Most organizations will find that after analyzing and prioritizing physical and VDI use cases, the majority of use cases can probably be adequately serviced through TS.