- A virtualization platform. The platform hosts VMs with the client operating systems. The platform must have the capacity to host enough VMs for all concurrently connected users. Examples of virtualization platforms include Hyper-V and VMware ESX Server.
- A protocol for the users to connect to the virtualized OS. This protocol could be the RDP protocol that's part of XP and Vista or an add-on protocol. The protocol will also handle certain features such as device and printer redirection. Your decision about a protocol will depend on the device end users use to connect, such as a thin client or a remote client under a full OS.
- A virtual management platform. This platform manages the servers and helps provision VMs quickly and efficiently. This platform not only creates VMs, but also uses templates and libraries of disk images to provision the client OSs in the VMs. The virtual management platform ensures there is always a pool of VMs available for new connections.
- A session broker. The session broker is responsible for distributing sessions from clients to VMs and redirecting users of disconnected sessions back to their original VMs. Windows Server 2008 R2 will provide a session broker for VDI. Also, Microsoft has partnered with Citrix to allow use of XenDesktop as a session broker for Microsoft VDI. VMware uses VMware View Manager as its preferred session broker.
- Application virtualization. Application virtualization enables fast availability of applications to the virtual client OSs. Standard application installation methods can be used, such as deploying via MSI files, but the install time may be several minutes. This wait is undesirable and leads to a poor end user experience and a loss of productivity while users wait for the application to install. Solutions for application virtualization include Microsoft Application Virtualization and VMware Thin App.
- Profile and data redirection. Users customize their environments and it's vital that these customizations and configuration are maintained between connections. Profile and data redirection ensure that if a user switches between VMs they have a consistent environment. It's also important that any data the user stores, including folders such as Documents, is stored on a server, and that's another task for profile and data redirection.
- Client devices. These devices are the point of access and could be thin clients or clients running software on OSs such as Windows, Linux, or others supported by the VDI solution.
There are other capabilities that may be provided as part of a VDI architecture, including one that gives users the same environment whether they're remotely connecting or using a local desktop OS. If you're running Windows as the client OS, you may want to look at Windows Vista Enterprise Centralized Desktop, a licensing model for running Windows in a virtualized environment.
Check out this video by John Savill for more information about VDI.