Book Image

Implementing VMware Horizon 7 - Second Edition

By : Jason Ventresco
Book Image

Implementing VMware Horizon 7 - Second Edition

By: Jason Ventresco

Overview of this book

VMware Horizon 7 has been a buzz since it was announced. One of the major reasons is the introduction of the new Instant Clones feature. This book will complement the product documentation by providing real-life examples of how it is implemented along with the latest features and components of the platform. We'll explore the latest features of the platform, including those added through product acquisitions such as User Environment Manager and App Volumes. Further on, you will also be introduced to the new capabilities added to the core product such Linked-Clone RDS pools. Upon completion of this book, you will have an understanding of the capabilities and benefits VMware Horizon can provide to your organization, and how each of its components are implemented.
Table of Contents (21 chapters)
Implementing VMware Horizon 7 Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

VMware Horizon design overview


The primary focus of this book is to show you how to deploy and configure VMware Horizon. Ultimately, the deployment is only one part of a successful Horizon implementation. Determining the infrastructure requirements of your virtual desktops is critical to ensuring that all your hard work, implementing Horizon, won't ultimately be a disappointment because you failed to consider what your desktops actually need.

Some organizations that are virtualizing older desktops, that lack flash drives, may feel that meeting their users' needs will be easy because expectations are low to begin with. Of course, some tend to forget that these same users are probably using flash-based devices at home, so even if the work computing experience is poor, these users do have some expectation of what it is like when they get a new computer, which is what their new Horizon desktop will appear to be. So, even if your Horizon infrastructure is capable of providing performance similar to the computers the users have today, that does not mean it will provide an experience that the users will find acceptable.

The goal of this section is to provide some information that you need to consider before you buy your Horizon licenses. Buying those licenses is the easy part, assembling the infrastructure they will be built on is not. Unfortunately, I can't put into words everything you need to know to build an infrastructure that guarantees a good performance for your users, which is why I suggest a detailed analysis of the network and storage infrastructure that you intend to use with your Horizon infrastructure. This analysis, combined with an understanding of the resources your Horizon infrastructure will require, is integral to delivering a superior end user experience.

Measuring Virtual Desktop resource requirements

One of the most important aspects of any Horizon design is ensuring that an infrastructure has adequate compute, storage, and network resources to host the required number of virtual desktops. Were it not for troublesome things such as budgets, we could simply purchase an excess of all three of those resources and rest easy at night. In general, our goal is to build an infrastructure that is robust enough to support our average user workload, with some capacity in reserve for growth or maintenance purposes.

Determining the resource requirements of a Horizon environment is a complicated task, and one that could, by itself, fill a book. While it is possible to collect desktop performance data using free tools such as Windows Performance Monitor, gathering all of the data you need would be difficult, and interpreting it even more so. The goal in this section is to introduce you to some tools that were created specifically to help in designing and testing virtual desktop infrastructures, so that you understand exactly what is required to ensure a successful implementation.

The following products can assist in determining your resource requirements and ensuring that your vSphere infrastructure has sufficient capacity and the performance capabilities needed to ensure the desktops perform as expected.

  • Lakeside Software SysTrack (http://lakesidesoftware.com/vdi-assessment-design-planning.aspx) performs an extensive analysis of your existing desktop workloads, including characterizing those that would be difficult to virtualize, and helps determine infrastructure needs and optimal placement.

  • Liquidware Labs Stratusphere FIT (http://www.liquidwarelabs.com/products/stratusphere-fit) can assist you in determining virtual desktop resource needs, and performs tasks similar to Lakeside Software SysTrack

  • Login VSI (http://www.loginvsi.com/) has created tools that can be used to test the performance of your Horizon infrastructure. Login VSI is used to run a simulated user workload in as many desktops as you want to test the performance of all layers of your virtual desktop infrastructure.

It is important to note that these software packages are typically used as part of a virtual desktop assessment project led by an outside vendor. If your user base has varying requirements, products such as SysTrack and Statusphere FIT may be the only way to find out exactly what infrastructure resources you need to ensure a successful VMware Horizon deployment.

The need for vSphere reserve capacity

In the event that you choose to determine your own vSphere infrastructure requirements, it is very important to keep in mind the concept of vSphere reserve capacity. I realize that you may choose to do maintenance after hours, so reserve capacity may not be a priority, but what about unplanned downtime, or periods where you can't do maintenance after hours? Many users simply cannot work if they do not have access to their computer, and now that you have virtualized that computer it is your job to ensure it is available whenever it is needed.

Maintaining reserve ESXi server capacity is critical to ensuring that we can accommodate all of our desktops in the event of an ESXi server failure or host maintenance operation. Consider a vSphere cluster with eight ESXi servers hosting 128 desktops each (1024 total desktops):

  • Desktop requirements:

    Tip

    Desktop requirements will vary from one environment to the next; these figures are just an example.

    • Each single vCPU desktop requires 10 percent of one ESXi server CPU core

    • Each desktop requires 2,048 MB of memory

  • Eight ESXi servers, each running 12.5 percent of the total number of virtual desktops:

    • 1024 desktops / 8 ESXi servers = 128 desktops per host

  • To continue to run all of the desktops in the event one of the ESXi servers was to become unavailable; we would need to be able to accommodate 18.29 desktops on each of the remaining seven hosts.

    • 128 desktops / 7 remaining vSphere hosts = 18.29 desktops per each ESXi server

  • To continue to run all desktops without any degradation in the quality of service; each server needs to have an excess of capacity that is sufficient to host 18 to 19 desktops. This is:

    • 19 desktops * 10% of a CPU core = 1.9 available CPU cores required

    • 19 desktops * 2,048 MB of memory = 38,912 MB or 38 GB of available memory required

    • 19 desktops * 121.21 MB of memory for virtual machine overhead = 2,303 MB or 2.3 GB of additional available memory required

    • 19 desktops * 0.75 MB network bandwidth = 14.25 MB of available network bandwidth required

    • 19 desktops * 0.23 MB storage network bandwidth = 4.37 MB of available storage network bandwidth required

These calculations assume that we want to protect the ability to provide resources for 100 percent of our desktops at all times, which is a very conservative yet valid approach to building a Horizon infrastructure.

The final configuration of the ESXi servers should take into account not only what percentage of desktops are actually in use at a given time, but also the cost of purchasing the additional capacity needed to support ESXi server failures or other events that require downtime.

Tip

Always take into consideration the growth of your Horizon environment. Purchasing equipment that has limited ability to scale may save money today, but could cost you dearly when you need to expand. If a piece of equipment you plan to buy for your Horizon infrastructure just barely meets your needs, look into the next larger model or even a competing product, if necessary.

Providing sufficient Horizon Client bandwidth

In the era of affordable 10 Gigabit Ethernet (GbE) for servers and 1 GbE for desktops I realize that bandwidth within a single site is typically not a concern. The following information is something to keep in mind for clients who are connecting to their Horizon desktop remotely, either from over the Internet or over a WAN from another company site. Ensuring that sufficient bandwidth is available is just another part of making sure your Horizon clients have an acceptable experience when connecting to the Horizon infrastructure.

The VMware document View Architecture Planning (http://www.vmware.com/support/pubs/view_pubs.html) provides some information about how to determine Horizon Client bandwidth requirements. The following table is built upon information obtained from that document as well as other VMware documentation:

User type

Workload characteristics

Bandwidth in Kilobits per second (Kbps)

Task worker

2D display and single monitor. Web and limited Office applications.

100-150 Kbps

Knowledge Worker (2D)

2D display and single monitor. Office Applications.

150-200 Kbps

Knowledge Worker (3D)

3D display (Windows Aero) and multiple monitors. Office Applications.

400-600 Kbps

Knowledge Worker (3D) - High User

3D display (Windows Aero) and multiple monitors. Office Applications. Frequent display changes.

500 Kbps - 1 Megabits per second (Mbps)

Power User

3D display (Windows Aero) and multiple monitors. 480P video and images frequent screen changes.

2 Mbps

Bandwidth utilization is heavily dependent on a number of factors, many of which can be controlled with the Horizon PCoIP GPO settings or even Windows OS settings. Actual bandwidth utilization will vary based on usage and PCoIP settings.

Tip

Refer to the VMware document Setting Up Application Pools in View (https://www.vmware.com/support/pubs/view_pubs.html) for information about the AD group policy templates included with VMware Horizon. The PCoIP protocol was invented by a company called Teradici. For additional information about how the protocol works, visit the Teradici PCoIP technology page (http://www.teradici.com/pcoip-technology.php).

Even with a careful analysis of user desktop usage patterns, it is important to remember that there will be spikes in usage from time to time. A Knowledge or Task Worker who has a need to use an application with a large amount of screen changes, such as viewing images in succession or watching a video, may cause a brief bandwidth spike of between 500 Kbps and 1 Mbps or more. Preparing for these spikes in bandwidth utilization is important in order to preserve the quality of service for all of the Horizon Client connections.

Refer to Chapter 13, Creating a Master Horizon Desktop Image, for information about optimal settings for a Windows desktop, an important topic for those new to virtualizing desktops. Chapter 15, Using Horizon PowerCLI, provides useful information for individuals who prefer to use scripts to automate as many tasks as possible, or simply to try and integrate Horizon with existing infrastructure management platforms.

The importance of a VMware Horizon pilot

Up until now, this chapter has been about introducing us to a variety of different concepts that form the basis of architecting our Horizon infrastructure. If we learn anything from this chapter, it is that our goal is to obtain the resources we need to provide an acceptable end user computing experience.

Classifying our end users and measuring their resource requirements is a valuable exercise that will help us understand what will be required to transition our end user computing resources from the desktop to the datacenter. That being said, no amount of planning can possibly replace a properly run pilot that validates not only the configuration of our master Virtual Desktop image, but also the performance of the Horizon infrastructure and the quality of the experience from an end user perspective.

Our Horizon pilot should involve the same types of users as our user analysis did, but not necessarily the same users within each group. The following list includes a number of goals that our Horizon pilot should attempt to achieve:

  • Include multiple users from each user classification: Task Worker, Knowledge Worker, and Power User

  • Include fully remote users as well as WAN-connected users at other company sites

  • Perform additional performance analysis at all layers of the Horizon infrastructure including:

    • Storage

    • Network

    • ESXi server

    • Guest operating

  • Measure the impact of common Horizon scenarios, such as:

    • User logon storms: Large numbers of users logging on within a short time frame.

    • Steady state user load: Measure Horizon infrastructure performance during a period of steady desktop usage by a significant number of users.

    • Antivirus platform performance: Measure the impact of common antivirus platform tasks, such as on demand scans and pattern file updates.

    • Horizon refresh or recompose: Measure the impact of these common Horizon linked clone desktop maintenance operations, described in detail in Chapter 12, Performing Horizon Desktop Pool Maintenance.

    • A fully populated ESXi server: Measure host performance with higher than normal workloads, such as simulating an outage or another period of higher than usual utilization.

Performance is the key

Performance deficiencies at any layer of the Horizon infrastructure can lead to a poor end user experience, usually in the form of longer than anticipated application response times. This is why it is critical to involve a large cross-section of our users in the pilot process, and to seek their opinion throughout the program.

The performance data that we collect during the pilot program can be used to measure the average of the actual resource utilization, which can then be compared to the estimated average resource utilization from the initial physical desktop analysis. Ideally, the numbers would be rather close to one another, but if they are not we will want to work to identify the cause. Now that we can measure performance at all layers of the Horizon infrastructure, it should be easy to determine where the higher than expected utilization originates from. Some potential issues to look for include:

  • The earlier analysis of the users did not include a sufficient number or a wide enough cross-section of users.

  • The Virtual Desktop master image was not properly optimized. Refer to Chapter 13, Creating a Master Horizon Desktop Image, for details on how to optimize the master desktop image.

  • A component of the Horizon infrastructure was improperly configured. This problem can affect any number of components of the infrastructure.

  • The pilot program is occurring during a period of higher than normal user workload, for example a recurring event unique to the organization such as financial reporting.

In summary, the Horizon pilot is your best time to learn about how it will perform within your environment, both from a performance perspective and in terms of user acceptance. Use the pilot program to identity any potential barriers to a successful rollout, and make any changes that are needed in order to minimize the risk of failure as the project moves forward.