While virtual desktop infrastructure (VDI) as a concept is not new, it's new that so many people today are thinking about how and where it can be used. In particular, they're evaluating how it compares and contrasts to other methods of delivering desktops to users, namely server-based computing and traditional local desktop architectures.
In this article, we'll look at VDI versus server-based computing (SBC) technologies such as Citrix Presentation Server or Microsoft terminal server. In part one of this series, I presented an overview of VDI.
The SBC approach to delivering a desktop is kind of interesting now, because in many ways SBC technologies have been delivering SBC-like solutions for over ten years. In fact, Citrix didn't even introduce seamless application publishing until 1999, so everything before that was full remote desktops. Of course, we didn't know to call it "VDI" back then, but that's what it was.
However, today's Windows XP virtual machine-based VDI is very different than current SBC desktop publishing, even though they both fundamentally solve the same business goal of providing desktops to users over a thin-client remoting protocol.
Let's compare these two technologies and look at where each has an edge.
VDI advantages over SBC desktops
- Better performance for intense applications. In VDI environments, the end-user Windows XP workstations run on a blade or as one of a few VMs on a server. Compare that to SBC desktops, where a single server might support 50, 100, or more simultaneous users. More resources dedicated to each user VM (virtual machine) can let really heavy applications perform better.
- No application compatibility issues. The reality of today's world is that not all applications are compatible with terminal services. In a VDI environment, each user VM is a standalone workstation, so you don't have to worry about applications that are not terminal services-compatible.
- Better / easier security. Since each user would have his or her own standalone Windows XP VM, you don't have to worry as much about locking down each user's session. If a user screws something up, they won't affect other users.
- Backend server portability. In your VDI system is built on VM technologies, you can "suspend" individual VMs and move them from server to server. This would be cool for doing maintenance. Imagine a scenario where you could hit a button in a management console to "move" a user to another server. Maybe the user would receive a popup box that said "Please wait a moment." Then the server would dump the memory contents of their VM to a disk, a VM would be provisioned on another physical piece of hardware, and the VM would be brought back online. This whole process would probably take less than 30 seconds and the user would pick up right where they left off.
- The clients run the "workstation" version of software. Since VDI workstations are based on Windows XP instead of Windows Server sessions, any software or applications would see the sessions as real workstations. You could use workstation versions of all your software.
- User control. Again, since each user would get a full Windows XP workstation VM, they can customize it however they want (or as much as you let them). But as the administrator, you can be more flexible about what you let your users do since you don't have to worry about them impacting other users. This also means that users who need admin rights over their own workstations can be virtualized.
- Users can take their sessions offline. If you're using a VM-based VDI solution, remember that the virtualization software provides a generic view of the hardware to users no matter what the physical hardware looks like. So in an environment where all users' desktops are provided to them as VMs, they could use centralized backend servers when they are in the office, and then use laptops running VMware when they hit the road and need to run offline. There could be a one-button "take offline" option that suspends the user's session and then copies down the disk image and memory space to the laptop where it could be resumed. You could even have generic laptops that users could "check out" when traveling. Imagine VMware ACE with the flexibility of running remotely or locally, and easily switching back and forth.
So VDI is cool. It gives you the benefits of personal, traditionally-installed distributed desktops with many the benefits of server-based computing. But there's a flip side. You also get a lot of disadvantages of distributed desktops.
SBC desktop advantages over VDI desktops
- Management. One of the original beauties of SBC is that you can run probably 50 or 75 desktop sessions on a single terminal server or Citrix Presentation Server, and that server has one instance of Windows to manage. When you go VDI, your 50 to 75 users have 50 to 75 copies of Windows that you need to install, configure, manage, patch, clean, update, and disinfect. Bummer!
- More server hardware is required. The potential performance increase of VDI over SBC comes at a cost. Giving each user a full workstation VM will require more computing resources than simply giving them a session on a terminal server. A dual processor server with 4GB of RAM can probably run 50-100 desktop sessions as a terminal server. With VDI, you're probably only looking at 15-20 Windows XP VMs.
- More software is required. In addition to your OS and application software, you'll also need the VM software (from VMware or Microsoft) and you'll need some software to manage the provisioning of VMs for users. (More on this later in this series.) Of course this will also cost more money.
As you can see, VDI and SBC are not that different. They are both using thin client protocols to separate the application execution from the user interface, and they both allow users to connect from anywhere with any device. The only real difference is that VDI connects thin client users to a Windows XP workstation, while SBC connects them to a session on a shared terminal server.
About the author: Brian Madden is an independent technology analyst, author, and thinker based in Washington, DC. He's written several books and hundreds of articles about Citrix and thin-client computing technology. Brian is a three-time Microsoft MVP, a Citrix Technology Professional (CTP), and he currently speaks and teaches throughout the world.