As we touched on at the start of this chapter, there are different definitions for the solutions that fall under the heading of VDI, depending on the vendor you are working with. For example, in some cases, the term VDI is used when, in fact, the solution is just delivering applications.
The term VDI was actually adopted by VMware and has become the accepted definition for this technology. In the context of a VMware Horizon View VDI solution, this refers to a model whereby the desktop operating system is running as a virtual machine hosted on a hypervisor, which is VMware vSphere (ESXi and vCenter) in this case, and running on the server infrastructure located centrally somewhere in a data center.
Users then connect remotely to their virtual desktop machine over the LAN/WAN/Internet from their chosen endpoint device and from any location. You might also hear this model being referred to as the hosted virtual desktop (HVD) model. This is shown in the following diagram:
From their chosen endpoint device (laptop, Mac, tablet, smart phone, and so on), the user launches a software connection client, which connects them to the infrastructure and authenticates their login credentials, which then delivers their desktop to the network using an optimized delivery protocol. They can also use a hardware client for this, and we will cover this later in the Horizon View Clients section in Chapter 2, Horizon View 6.0 Architectural and Feature Overview. The connection can be performed using browser-based access, which we will cover in Chapter 8, Horizon View Clients.
The key idea and a point to remember in a VDI solution is that, the data never leaves the data center. It's just the pixels from the virtual desktop's display that get sent over the network, and the keyboard strokes and mouse movements from the endpoint device that are redirected back to the virtual desktop machine. It's like having a very long remote control for your desktop or a very long set of cables!
If we look at the virtual desktop machine and its basic architecture, it is subtly different when compared to a physical desktop PC and how a desktop is built and delivered. In a physical model, a user "owns" the desktop, as it's sitting on their desk. They use the same machine every day. In a VDI environment, desktops are not necessarily owned by the user and are delivered in a manner that reduces the complexity and infrastructure requirements, instead.
In a typical VDI deployment, the desktops will be part of a pool of virtual machines that are ready for a user to consume. Each desktop starts life with exactly the same image (like having a new machine) with no user personalization or customization, as the user does not own that desktop. As they log in, they are allocated a desktop from a pool that assumes their profile and becomes their desktop for that particular session. When they log off, the desktop returns to the pool ready for the next user. This means that a virtual desktop is built differently from its physical counterpart.
In terms of how the desktop is built, each virtual desktop machine is effectively assembled using its component parts, operating system, user profile, and then, applications. We often hear this being referred to as the composite desktop model, and this is shown in the following diagram:
You might also find that the hardware specification of the virtual desktop machine can differ from a physical PC. As the virtual desktop machine is running on a hypervisor, you can monitor the resources it consumes more closely, allowing you to potentially lower the hardware specification. For example, some of the memory-sharing technologies found in the hypervisor can allow you to reduce the amount of memory you need for configuration.
These are just some of the high-level differences, and we will cover some of the deeper differences when we build our virtual desktop machine in Chapter 6, Building and Optimizing Virtual Desktop Machine OS Images, where we will look at how the operating system configuration differs from a physical PC.
At the beginning of this chapter, we mentioned that there are other technologies that are available for delivering virtual desktops and applications to deliver the end user experience. We will discuss this in the next section, starting with server-based computing.