VMware has released a new "solution" called Virtual Desktop Infrastructure (VDI). If you are using VMware's products to serve up desktops to your end users, you may already be using a more basic form of VDI and not even know it. Let's find out more about VDI...
Are you able to identify precisely which processes are sucking up resources and slowing down your servers? Can you do this equally well over VM guests that VMotion?
OpManager also allows admins to remotely shut down problem-causing processes. With over 500 built-in monitors & 70 deep VMware metrics reported on, OpManager is one of the most comprehensive fault & performance management solutions available today for entire server infrastructure - both physical and virtual.
What is VDI?
This is a VMware solution, not a product because it involves using Virtualization to provide virtual desktops to your users. All of us are familiar with the concept of using VMware Server or VMware ESX to virtualize your server applications (like SQL server, print servers, or other dedicated servers). VDI takes this a step farther.
Here are the steps to using VDI:
- Create a virtual machine on ESX Server
- Install a VDI Connection Broker - this Connection Broker is what determines which Remote Desktop Host a user is assigned or should be connected to. Here are some of the connection brokers available today:
- ChipPC Virtual Desktop Center
- Citrix Desktop Broker for Presentation Server
- Dunes Virtual Desktop Orchestrator (VD-O) and Virtual Service Orchestrator (VS-O)
- LeoStream Virtual Desktop Connection Broker
- Propero workSpace
- Provision Networks Virtual Access Suite (VAS)
- Install a desktop operating system on that VM, such as Windows XP or Windows Vista
- Install desktop applications on the VM
- Allow remote access to that virtual desktop system over the network using any number of possible remote control options
VDI could be compared, in a number of ways, to thin-client computing (such as Citrix/Terminal Services). With VDI, you are taking the processing off of the end user's device and bringing it onto a server. The difference with VDI, unlike thin-client, the virtual desktop is dedicated to a single end user or mapped to provide the desktop OS & applications to a single client viewing device.
The VMware VDI packaged solution, of course, uses VMware ESX as the underlying virtualization product. However, if you are creating your own less-featured version of VDI, you could do the same thing with VMware Server, if you are willing to sacrifice the VMware ESX features & connection broker features, in return for getting this type of solution for next to nothing.
Why should I use VDI?
VDI could be compared, in Here are the benefits to VDI:
- Security - Desktops are more secure
- Rollback - Can use VMware's snapshot and revert technology on desktop machines
- Centralized Apps - Applications upgrades are easier because systems are all in a centralized location
- Speed Deployment - you can quickly clone existing machines and roll out new systems because machines are all in a single central repository
- Provide a full desktop PC - Unlike Terminal Services or Citrix, with VDI, you are providing full access to a virtual machine and each virtual desktop is mapped to a single user or a single client device.
- Reliability - if you could quickly restore any PC OS to a useable state, free from viruses or corruption, how reliable could your desktop systems be?
Now let's look at some challenges to using VDI:
- What remote devices will I use?
- What remote control protocol will I use between the virtual desktop and the client device?
- Will my end users be able to access certain legacy hardware that they are used to using?
- What is the cost of deploying real PC's vs. the cost of using VDI and some form of thin-client devices?
All of these are good questions and are challenges you will have to overcome if you are going to try to implement VDI yourself. If you use VMware's packaged solution, I expect that they will provide you the answers to these. However, the answers aren't that hard to find. Let's take a look:
- Which remote devices? You could use older or existing PC's but that doesn't provide you all the benefits you could get from VDI. You could also use Thin-client devices running RDP. Ideally, you might consider something like the new Wyse Thins OS-VDI, made just for thin clients that will be connected to VDI servers. More information can be found at: http://www.wyse.com/about/news/pr/2006/0802_VMwareVDI.asp and http://www.wyse.com/products/software/os
- What remote control application? You can choose from RDP, VNC, or others
- Legacy hardware? Perhaps, RDP, for example, supports USB devices on the client and if you could put a parallel or serial device on the server, you could also access it from the client.
- Cost comparison? You will have to do your own cost comparison, keeping in mind, the soft numbers related to the increased security and management functionality. VMware has a number of case studies on VDI that might help justify your case.
How to implement your own VDI, for free
There are some of you may see the benefits of VMware's packaged VDI and be willing to pay the price for the hardware, VMware Virtual Infrastructure software (like ESX), connection broker, and the VMware services to implement their VDI package. Perhaps you will virtualize every desktop and move them onto the Virtual datacenter. If so, good for you. The VMware VDI solution with a connection broker is an excellent solution.
We have a large Citrix farm with over 400 concurrent Wyse thin-clients connecting to 16 servers every day. Each user is given the whole desktop, on their thin-client, from the server. Users share applications that are installed on each server. However, a number of older applications, we discovered, were not multi-user enabled. When the second user would run the application, the application would lock or crash.
What we did is to create a VMware virtual desktop (on Server 1.x or ESX) and enable RDP on it. We installed the old application. We made it so that the workstation would automatically login using Windows credentials and that, the application would start, maximized in the virtual desktop, when the user connected and logged in.
Back on that user's Citrix desktop, we put an icon with the name of the application. That icon actually ran a RDP connection, full-screen, and connected to the Virtual desktop system. When the connection was made, the user immediately saw the application they ran, but it was running on the other server. As they were the only user using that application, it worked fine with just a single user.
This is an example of creating a sort of ad-hoc VDI system. We had a dedicated virtual desktop mapped to a single user. This allowed us to let the user run that application with out them having to have a PC. It allowed us to keep our costs down, network secure, and easily roll out more of these virtual desktops.
This is, of course, on a much smaller scale that the full-blown VMware VDI package and connection broker. Still, it is similar and offers similar core features. The downside to any sort of VDI solution is that it doesn't scale well. What I mean is that you must have a virtual desktop for every user. When compared tot he scalability of Terminal Server/Citrix (where I can put over 60 users on each system), there is a vast difference.
In summary, VMware VDI is a great concept whether you do it on a small scale, like I did, or on a large scale, like you can purchase through VMware. VDI goes hand in hand with the popularity of thin-client computing and offers many of the same benefits.