Chapter 5

Desktop Virtualization

IN THIS CHAPTER

check Considering the possibility of virtualizing desktops instead of servers

check Looking at two approaches to virtualizing desktops

check Working with VMware’s Horizon View

check Using Citrix XenApp

Virtualization is most often applied to server computers. However, more and more organizations are also applying virtualization to desktops, replacing traditional Windows desktop computers with virtual desktops that are accessed from a nontraditional type of device.

In this chapter, I present a basic overview of desktop virtualization and its benefits and introduce you to some of the technologies that can be used to implement virtual desktop infrastructure (VDI).

Introducing Desktop Virtualization

The term desktop virtualization refers to any software that separates an end-user’s Windows desktop environment from the hardware that the environment runs on. Desktop virtualization is meant to address some of the fundamental weaknesses of the traditional practice of giving each user his or her own Windows workstation.

Here are just a few of the problems that desktop virtualization addresses:

Desktop virtualization addresses all these problems (and more) by moving the user’s desktop environment from a desktop computer to a central host computer. Then the user can access the desktop environment from any device that is compatible with the VDI technology chosen to virtualize the desktop. The advantages of this arrangement are many:

Considering Two Approaches to Desktop Virtualization

There are at least two distinct approaches to implementing desktop virtualization. The first approach is to simply create a separate virtual machine for each user and provide a way for the users to efficiently connect to their virtual machines. This approach is usually referred to as virtual desktop infrastructure (VDI). VDI solutions are usually built using traditional virtualization products such as Microsoft’s Hyper-V or VMware’s ESXi hypervisor.

The second approach is to use a single server that is designed to support multiple users and provide a way for each user to connect to his or her session on the server. This approach is often called terminal services, because it’s based on the terminal services role that is a standard part of all versions of Windows Server.

technicalstuff Technically, with Windows Server 2008, Microsoft changed the name of Terminal Services to Remote Desktop Services to emphasize the role of Terminal Services for virtualizing desktops. The IT industry is pretty reluctant to change its phraseology, however, so most IT professionals still call it terminal services even though that term has been obsolete for almost a decade.

The remaining sections of this chapter describe two popular desktop virtualization products that use these two approaches. The first is VMware’s Horizon View, which builds on VMware’s virtualization platform. The second is Citrix XenApp, which builds on Windows Terminal Services.

Looking at VMware’s Horizon View

With VMware’s virtualization infrastructure, you could easily implement desktop virtualization by simply creating virtual machines for each of your users’ desktops and having your users connect to their virtual machines using Remote Desktop Connection (RDC). However, you’ll quickly start to realize some of the limitations of this approach.

First, you’ll probably discover that the RDC client is not very efficient when it comes to intensive graphics applications. Watching YouTube videos over RDC can be frustrating, as can working with graphically oriented programs such as Adobe Photoshop.

You’ll also discover that managing users’ access to virtual desktop machines is difficult with vSphere. vSphere is designed to create and manage virtual servers that are typically accessed only by IT personnel. Access to those servers is controlled through Active Directory credentials; in other words, if you don’t know the password, you can’t log in. But vSphere isn’t really designed to create hundreds of desktop VMs and make them available to hundreds of users.

To address these and other issues, VMware offers a product called VMware Horizon View that builds on the core functions of vSphere and adds features specifically designed for desktop virtualization. Here’s a short list of some of the more important features of Horizon:

Looking at Citrix XenApp

Citrix XenApp is a desktop virtualization environment that uses Windows Terminal Services to enable multiple users to access remote desktops from a variety of client devices, including Windows, Mac, iOS, and Amazon devices. Unlike VMware’s Horizon View, XenApp does not create a separate virtual machine for each user. Instead, when users connect to XenApp, they log in to separate terminal services sessions on a common Windows Server. The users then have access to all the resources and applications that are available to the Windows Server.

Users connect with XenApp by using a client application called the Citrix Receiver, which can be run on Windows, Mac, iOS, or Android devices. Figure 5-1 shows Citrix Receiver running on a Windows 10 system.

image

FIGURE 5-1: Citrix Receiver.

When you configure a XenApp server, you create and publish desktops and applications that users can remotely connect to. Then, when the user connects to the XenApp server, the user is shown the applications that he or she is authorized to use. For example, Figure 5-1 shows a typical Citrix Receiver screen connected to a XenApp server. In this case, the user is authorized to open a desktop and two applications.

If the user connects to a desktop, the user sees an entire Windows desktop environment, complete with a Start menu that grants access to applications, as well as Explorer to browse disk resources. Figure 5-2 shows the Citrix Receiver connected to a desktop.

image

FIGURE 5-2: Connecting to a desktop.

On the other hand, a user can connect to an individual application rather than to a desktop. This feature is called application virtualization. When you connect to an application, that application runs on the server but only that one application’s window is shown on the user’s device. In other words, the user sees the individual application rather than a complete desktop. The user can then use the application as if the application were natively running on his or her device, even if the user’s device is a non-Windows device.

Figure 5-3 shows an example of Microsoft Excel running on an iPhone 6 Plus via Citrix Receiver. As you can see, Citrix Receiver makes the desktop Microsoft Excel application available on my iPhone exactly as it’s available on my Windows desktop. In fact, I could choose File ⇒   Open to summon an Open dialog box which would allow me to browse the network to open any file that would be available to me from my Windows desktop. This feature effectively extends my desktop applications to my iPhone.

image

FIGURE 5-3: Viewing Excel on an iPhone.