Virtualization is being deployed in a couple of different ways. Early adoption of virtualization was for deploying multiple server applications on the same physical system. For instance, a Citrix server, a Web server, and an Oracle database server can all be operated on three virtual servers all of which are hosted on the same physical server. Such server virtualization was also mandated by applications that could not make use of higher memory availability on the servers, and as a result, it became necessary to host multiple application instances, one per virtual server.
A more recent trend is the use of virtualization as an alternative to traditional server-based computing technologies. In these virtual desktop infrastructures (VDI), virtual desktops (rather than servers) are published on the virtual hosts, and users connect to virtual desktops using the remote desktop protocol (RDP) or equivalent mechanism, and run their client applications. In this scenario, each user is assigned to a virtual desktop and can run his/her applications within that desktop. Figure 1 depicts how a virtual desktop infrastructure functions. Typically, simple brokering techniques are used to enable end-users to connect to a virtual machine. Here, end-users are provided a web address on the corporate network for the connection broker. After authenticating, the connection broker provides a list of available resources to the end user. The end-user establishes a connection directly to the virtual machine using RDP.