Desktop virtualization explained
Desktop virtualization is the process of separating the desktop environment and associated application software from the physical client device that is used to access it. According to Gartner, desktop virtualization is described as “technology that decouples a PC desktop environment from a physical device so that the virtual machine (VM) of the PC desktop stored in a centralized server can be accessed from a remote client device through a network”.1
Techopedia expands on this definition and notes that “desktop virtualization is also known as client virtualization because the client-server computing model is used in virtualizing desktops” and that desktop virtualization is a “technology that separates an individual's PC applications from their desktop and provides a way for users to maintain their individual desktops on a single, central server that they’re connected to from a LAN, WAN, or simply over the Internet”.2
A popular type of desktop virtualization is virtual desktop infrastructure (VDI). VDI uses a VM to deliver persistent or nonpersistent virtual desktops to many types of connected devices. With a persistent virtual desktop, each user has a unique, dedicated desktop image they can customize with apps and data, knowing the desktop will be saved for future use. A nonpersistent VDI allows users to access a virtual desktop from an identical pool when they need it. Once the user logs out of a nonpersistent VDI, the VDI reverts to its unaltered state.
In TechTarget, authors Brien Posey, Colin Steele, and Jack Madden explain that “desktop virtualization works by employing hardware virtualization technology. Virtual desktops exist as VMs running on a virtualization host [and sharing] the host server's processing power, memory, and other resources”.3
The primary consideration when deciding where to put your virtualization layer is “where are the backend resources that the virtualization layer will be providing access to?” Consider a client and server SAP server (environment). Here’s a visualization of SAP server in a data center with the clients (or users) in another location (typically in an on-site office):
One way to optimize the user experience is to place the virtualization layer in the same data center or cloud location. Failure to do so may result in a poor user experience since each hop adds to the reduced performance of the app, as shown in the multi-hop example below.