Virtual Desktop Infrastructure (VDI)



Desktop virtualization is the act of decoupling the different computing layers and storing some or all of them in a data center. Virtual desktop infrastructure (VDI) is the practice of hosting a desktop operating system within a virtual machine (VM) running on a centralized server. VDI is a variation on the client/server computing model, sometimes referred to as server-based computing (SBC).

Let’s look at VDI from a high level and compare it to more traditional server-based computing models.

The image on the right shows a traditional SBC model. The users all have access to a desktop GUI via an individual session on the terminal server. This server has a single OS installed; an instance of Terminal Services to provide the sessions and session management, and a set of applications that can be used by all the users on the server.

In the VDI model on the left, a single server is used again, but a hardware virtualization layer is added to this server in place of a more traditional OS like Windows Server. The Virtualization layer provides numerous Virtual Machines that are each supplied with an operating system, applications, and a unique GUI / desktop environment for each user.

As you can tell by the image, a VDI solution provides the same basic functionality of a traditional SBC solution. This functionality is (primarily) to provide a centralized desktop via a protocol like RDP or ICA. Besides the Virtualization layer and numerous OSes, the two solutions look almost identical. (The key word is ’almost’.)

With VDI you gain a couple of benefits that you cannot achieve in a SBC environment, including things like:

  • The ability to provide a unique environment for each and every user.
  • Each of these environments can be completely customized with different apps and settings without impacting other users.
  • Users can be granted more control of their own “virtual” desktop to allow them to install and modify applications if needed.
  • Applications that were not multi-user friendly (i.e. “we can’t get this to run on Citrix”) can be run in this environment since each instance is just like installing the app on a new desktop.

ref:

Virtualization Wiki - http://en.wikipedia.org/wiki/Virtualization

Introduction to Virtualization - http://www.kernelthread.com/publications/virtualization/

Virtualization Best Practises - http://support.ca.com/phpdocs/0/common/impcd/r11/virtualization/doc/virtualization_best_practices.pdf , http://support.ca.com/phpdocs/0/common/impcd/r11/virtualization/virt_main.htm

Virtualization: Fueling Green Data Centers - http://msdn.microsoft.com/en-us/library/dd347164.aspx

Microsoft Virtualization Portal - http://www.microsoft.com/virtualization/en/us/default.aspx

Virtualization White Papers - http://www.microsoft.com/virtualization/en/us/resources.aspx

Virtualization information on Microsoft Technet - http://technet.microsoft.com/en-us/virtualization/default.aspx

Virtualization Case Studies - http://www.microsoft.com/virtualization/en/us/case-studies-featured.aspx

Microsoft Virtualization learning portal - http://www.microsoft.com/learning/en/us/training/virtualization.aspx

Virtualization implementations and optimization guide - http://searchservervirtualization.techtarget.com/tutorial/Virtualization-implementations-and-optimization-guide

VMWorld 2010 Presentations - http://www.vmworld.com/community/conferences/2010/knowledge-experts

The Xen™ virtual machine monitor - http://www.cl.cam.ac.uk/research/srg/netos/xen/

Xen Hypervisor 4.0.1 Source code - http://www.xen.org/products/xen_source.html