Desktop virtualization

Desktop virtualization is software technology that separates the desktop environment and associated application software from the physical client device that is used to access it.

Desktop virtualization can be used in conjunction with application virtualization and user profile management systems (known as "user virtualization") to provide a comprehensive desktop environment management system. In this mode, all the components of the desktop are virtualized, which allows for a highly flexible and much more secure desktop delivery model. In addition, this approach supports a more complete desktop disaster recovery strategy as all components are essentially saved in the data center and backed up through traditional redundant maintenance systems. If a user's device or hardware is lost, the restore is much more straightforward and simple; all the components will be present at log-in from another device. Additionally, because no data is saved to the user's device, chances are low any critical data can be retrieved and compromised if the device is lost.

System architecture

Desktop virtualizations are put into several classes based on what they are capable of doing:

  • Does the virtual desktop runs remotely or locally?
  • Is access required to be constant or is designed to be intermittent?
  • Does the virtual desktop persist between sessions?

Remote desktop virtualization

Typically, software products that deliver desktop virtualization solutions can combine local and remote implementations into a single product to provide the most appropriate support specific to requirements. The degree of independent functionality of the client device is necessarily interdependent with the server location and access strategy. And virtualization is not strictly required for remote control to exist.

Remote desktop virtualizations operate on a client-server basis. Application execution takes place on a remote operating system which is linked to the local client device over a network using a remote display protocol. All applications and data accessed in this way remain on the remote system, with only display, keyboard, and mouse information communicated with the local client device. A common implementation of this approach is to host multiple desktop operating system instances on a server hardware platform running a . This is generally referred to as "virtual desktop infrastructure" or "VDI," which should not be used as a blanket term to refer to any desktop virtualization implementation. VDI is essentially a desktop-centric service that hosts user desktop environments on remote servers and/or blade PCs, which are accessed over a network using a remote display protocol. A connection brokering service is used to connect users to their assigned desktop sessions.[1][2]

Remote desktop virtualization is frequently used in the following scenarios[3][4][2]:

  • In distributed environments with high availability requirements and where desk-side technical support is not readily available, such as branch office and retail environments.
  • In environments where high network latency degrades the performance of conventional client-server applications
  • In environments where remote access and data security requirements create conflicting requirements that can be addressed by retaining all (application) data within the data center with only display, keyboard, and mouse information communicated with the remote client.

Remote Desktop Services vs. VDI

Remote Desktop Services (also called terminal services, server-based computing, and presentation virtualization) is a component of Microsoft Windows that allows a user to access applications and data on a remote computer over a network using a remote display protocol. Another leading example of presentation virtualization is Citrix XenApp.[2] Remote Desktop Services is functionally similar to VDI in that it hosts the users' desktop environments on remote servers; however, it differs from VDI in two important ways[5]:

  1. Where a VDI service provides individual desktop operating system instances (e.g. Windows XP, Windows 7, etc.) for each user, Remote Desktop Services sessions run in a single shared server operating system. The use of a single shared server operating system instead of individual desktop operating system instances consumes significantly fewer resources than the same number VDI sessions.
  2. Where VDI is designed to deliver full desktop environments, Remote Desktop Services can provide connections to both individual applications or full desktops as needed.

However, VDI implementations allow for delivering a personalized workspace back to a user, which retains all the user's customizations. There are several methods to accomplish this. One is to deliver fully persistent VM desktops, in which a user gets a dedicated desktop that functions essentially as their own PC. Another mode is to deliver non-persistent desktops which do not include user personalization. These are VM desktops delivered from a pool which are then used for a session and returned to the pool. This approach has the advantage of keeping VM desktops "clean," as nothing is saved to the image by the user. Non-persistent desktops can be paired with user virtualization technologies to deliver user profiles and customizations (and all profiles settings, application data settings, configuration and user data), to the user upon login. The user profile is matched with a non-persistent desktop providing an experience that is very little different from a PC. All changes made to the user profile are saved to the profile and are restored to the user upon their next log-in. However, the VM is returned to the pool with no changes saved to it.[2][5]

Local desktop virtualization

Local desktop virtualization implementations run the desktop environment on the client device using hardware virtualization or emulation. Local desktop virtualization is well suited for environments where continuous network connectivity cannot be assumed and where application resource requirements can be better met by using local system resources. When using local hardware virtualization, depending on the implementation, both Type I and Type II hypervisors may be used.[6]

However, local desktop virtualization implementations do not always allow applications developed for one system architecture to run on another. For example, running Windows 7 on an ARM-based tablet is not generally possible as of 2014. "For [Windows 7] binaries to run on an ARM processor, they have to be compiled for that processor specifically or be run in an emulator."[7]

Application virtualization

Application virtualization improves delivery and compatibility of applications by encapsulating them from the underlying operating system on which they are executed. A fully virtualized application is not installed on hardware. Instead, a hypervisor layer intercepts the application which at runtime acts as if it is interfacing with the original operating system and all the resources managed by it, when in reality it is not.[8]

User virtualization

Desktop as a service (DaaS) is an example of virtualization in cloud computing architecture.

User virtualization separates all of the software aspects that define a user's personality on a device from the operating system and applications to be managed independently and applies them to a desktop as needed, without the need for scripting, group policies, or use of roaming profiles. The term "user virtualization" sounds misleading; this technology is not limited to virtual desktops. User virtualization can be used regardless of platform.[9]

Layering

Desktop layering is a method of desktop virtualization that divides a disk image into logical parts to be managed individually. For example, if all members of a user group use the same OS, then the core OS only needs to be backed up once for all who share this layer. Layering can be applied to local physical disk images, client-based virtual machines, or host-based desktops. Windows operating systems are not designed for layering; therefore, each vendor must engineer their own proprietary solution.[10]

Desktop as a service

Remote desktop virtualization can also be provided via cloud computing, similar to that provided using a software as a service model. This approach is usually referred to as cloud-hosted virtual desktops. Two variations of this technology are prevalent: VDI-managed and desktop as a service (DaaS). VDI technology functions as an outsourced managed service while DaaS provides a higher level of automation and real multi-tenancy, reducing the cost of the technology. Providers offering DaaS typically take full responsibility for hosting and maintaining the compute, storage, and access infrastructure, as well as applications and application software licenses needed to provide the desktop service, in return receiving a monthly fee, in some cases fixed.[11]

Cloud hosted virtual desktops can be implemented using both VDI and Remote Desktop Services-based systems and can be provided through public cloud, private cloud infrastructure, and hybrid cloud platforms.[11]

Notes

This article reuses numerous content elements from the Wikipedia article.

References

  1. Schultz, Keith (16 March 2012). "Review: VDI without the server connection". InfoWorld Virtualization Channel. The IDG Network. http://www.infoworld.com/d/virtualization/review-vdi-without-the-server-connection-188808. Retrieved 28 August 2014. 
  2. 2.0 2.1 2.2 2.3 Knorr, Eric (28 May 2010). "What desktop virtualization really means". InfoWorld Virtualization Channel. The IDG Network. http://www.infoworld.com/d/virtualization/what-desktop-virtualization-really-means-352. Retrieved 28 August 2014. 
  3. "The Virtues of Desktop Virtualization" (PDF). Intel Corporation. 2009. http://www.lenovo.com/us/en/PDFs/lenovo_desktop_virtualization.pdf. Retrieved 28 August 2014. 
  4. "Top 10 Considerations When Evaluating Desktop Virtualization for Distributed Environments" (PDF). VMware. 2012. http://www.vmware.com/files/pdf/mirage/VMware-Desktop-Virtualization-for-distributed-environments-whitepaper.pdf. Retrieved 28 August 2014. 
  5. 5.0 5.1 Cooke, Alastair (July 2012). "Desktop virtualization comparison: VDI vs. Remote Desktop Services". SearchVirtualDesktop. TechTarget. http://searchvirtualdesktop.techtarget.com/tip/Desktop-virtualization-comparison-VDI-vs-Remote-Desktop-Services. Retrieved 28 August 2014. 
  6. Brodkin, Jon (19 February 2009). "Virtual desktops ripe for deployment, hindered by cost". Network World. http://www.networkworld.com/article/2263085/computers/virtual-desktops-ripe-for-deployment--hindered-by-cost.html. Retrieved 28 August 2014. 
  7. Diogo (26 August 2011). "Why can't Windows 7 be installed on a ARM processor based system?". SuperUser. Stack Exchange, Inc. http://superuser.com/questions/328329/why-cant-windows-7-be-installed-on-a-arm-processor-based-system. Retrieved 28 August 2014. 
  8. Kennedy, Randall (April 2009). "Application and desktop virtualization under the hood". InfoWorld Virtualization Channel. The IDG Network. http://www.infoworld.com/d/virtualization/application-and-desktop-virtualization-under-hood-153. Retrieved 28 August 2014. 
  9. Rawlinson, Pete (30 July 2010). "User virtualization – the key to successful desktop virtualization". Network World. http://www.networkworld.com/article/2215219/tech-primers/user-virtualization---the-key-to-successful-desktop-virtualization.html. Retrieved 28 August 2014. 
  10. Rouse, Margaret (November 2011). "What is desktop layering?". SearchVirtualDesktop. TechTarget. http://searchvirtualdesktop.techtarget.com/definition/Desktop-Layering. Retrieved 28 August 2014. 
  11. 11.0 11.1 Olsen, Gary (February 2012). "Weighing cloud-hosted virtual desktops vs. VDI". SearchVirtualDesktop. TechTarget. http://searchvirtualdesktop.techtarget.com/tip/Weighing-cloud-hosted-virtual-desktops-vs-VDI. Retrieved 28 August 2014.