The concept of VDI (Virtual Desktop Infrasctructure) is not new in itself, but it is a completely new question that many people are thinking about how and where to use VDI. In particular, it has been evaluated and compared and contrasted with other ways of delivering desktops to users, namely, server-based computing and traditional native desktop architectures.
In this article, we will explore VDI technology and server-based computing (SBC) technologies such as Citrix Presentation Server or Microsoft Terminal Server. In the first part of this series, I gave a brief introduction to the Virtual Desktop Infrastructure (VDI).
Now, the SBC approach is an interesting way to implement the desktop, because SBC technology has been providing SBC-like solutions in many ways for a decade. In fact, Citrix didn't release seamless software until 1999, so everything before that was Remote Desktop. Of course, we didn't call it VDI at the time, but that was its predecessor.
However, today's VDI based Windows XP virtual machines are very different from the SBC desktop distribution, although they both fundamentally address the same business goal: to provide the user with a desktop via a thin client remote protocol. Here, we compare the two technologies to see where they excel.
What are the advantages of VDI over SBC?
· Relatively good performance after multiple application. In a VDI environment, the end user's Windows XP workstation runs on a blade machine or on a server as one of several virtual machines. In an SBC environment, a server may support 50, 100, or more end users at a time. In the VDI environment, each user virtual machine can use more resources, so the performance is better than SBC when the application is heavy.
· No compatibility issues. In practice, not all applications are compatible with terminal services. In a VDI environment, each user virtual machine is a separate workstation, so you don't have to worry about application compatibility with terminal services.
· Better security. Since each user has his or her own Windows XP virtual machine, you don't have to worry about reinforcing user sessions. If one user makes a mistake, it won't affect the other users.
· Portability of back-end servers. In VDI, systems are built on virtual machine technology, where you can "pause" individual virtual machines and move them from one server to another. This will come in handy when maintaining the system. As you can imagine, you can simply click a button in the admin console to move users to another server. Perhaps the user will receive a pop-up "Please wait", the server will transfer the virtual machine's storage to a hard drive, the virtual machine will be automatically configured on another physical hard drive, and the virtual machine will be brought back online. The entire process takes less than 30 seconds and the user is back where he was when he was interrupted.
· The customer runs the "Workstation" version of the software. Since VDI workstations are based on Windows XP and not Windows Server Sessions, any software or application will use Sessions as a true workstation. This way, you can use the "workstation" version of all the software.
· User control. Also, since each user gets a complete Windows XP workstation virtual machine, they can customize their own virtual machine to suit their needs (or to the extent you allow). But as an administrator, you can be more flexible about setting user privileges because you don't have to worry about them affecting other users. This means that users who need administrative rights for their own workstations can also be virtualized.
· Users can use session offline. If you are using a VDI solution based on virtual machines, keep in mind that virtualization software provides users with a common hardware situation regardless of your physical hardware. So in cases where all user desktops are virtual machines, users can use a centralized back-end server when they are in the office, and they can run VMware on their laptops when they are not in the office and need to run offline. There is a "Disconnect" option to suspend the user's session, then copy the hard disk image and memory to the laptop, and then restore the virtual machine from the laptop. You can even use a general-purpose laptop for business trips. Imagine that VMware ACE has the flexibility to run locally or remotely, and can easily switch back and forth.
So, VDI is really good. It offers some of the benefits of a traditional installation of distributed personal desktops, as well as many of the benefits of server-based computing. It has its drawbacks, however, as distributed desktops have many of their own. What are the advantages of SBC over VDI?
·Management. One of the nice things about SBC is that you can run 50 or 70 desktop sessions on a single terminal Server or Citrix Presentation Server, which only has to manage a single Windows instance. With VDI, 50 to 70 users is 50 to 70 copies of Windows, and then you have to install, configure, manage, patch, check, update, and kill them. Terrible!
·VDI requires more server hardware. The potential high performance of VDI compared to SBC comes at a price. Having each user have a full workstation virtual machine will require more computing resources than assigning sessions to users on a single terminal server. A dual-processor server with 4GB of RAM can run 50 to 100 desktop sessions as a terminal server, whereas in VDI, you might only run 15 to 20 Windows XP virtual machines.
·VDI requires more software. In addition to the operating system and application software, you'll also need virtual machine software (VMware or Microsoft), and some software for users to manage the automatic configuration of virtual machines. Of course, this all comes at a higher cost.
As you can see, VDI and SBC are not completely different. They both use a thin client protocol to separate application execution from the user interface, and they both allow users to connect from anywhere using any device. The only real difference is that VDI is connected to a thin client user to a Windows XP workstation, while SBC is connected to a session to a shared terminal server.