These five "secrets" to virtualizing desktops will greatly increase the chance of a successfully VDI implementation. It is very important to plan for this; to balance the hardware environment to handle not just average but peak load; to properly size storage, not just for capacity, but for performance as well; to minimize the number of base images so that the costs of maintaining each can also be minimized; and to accept and embrace the fact that people will connect with a wide variety of devices, and to create a plan to accommodate as many of these devices as is feasible at the lowest cost.
This is the second whitepaper in a series on "secrets" surrounding virtualization. In the first white paper, Five Secrets for Successfully Virtualizing a Data Center, we discussed general tips to successfully virtualize a data center. While not specifically discussed, the primary focus of the document was surrounding the virtualization of servers. In this white paper, we'll build on the previous paper with specific guidance for virtualizing desktops (this is sometimes referred to as VDI - Virtual Desktop Infrastructure). While this white paper does not require an understanding of the first one, you will see similarities and amplifications of content from that one.
We want to introduce some best practices for desktop virtualization, while not being too biased towards one virtualization vendor or another. We'll use some common examples of products and tools that work with VMware's View, which runs on top of vSphere as a common method of virtualization, but other vendors, including Microsoft and Citrix, have great solutions in this area as well. This paper will discuss desktop virtualization in general, and not the specifics of one platform or another (or any of the other capable platforms that could be used).
This white paper focuses on desktop virtualization implementation; if you are interested in the ROI for desktop virtualization, Global Knowledge has one on desktop virtualization that I have authored, 10 Ways to Save with Desktop Virtualization.
We'll look at five basics that should be considered in any desktop virtualization project:
Balancing the various hardware components
Sizing the storage properly
Minimizing the number of base images deployed
Accepting a wide variety of end user devices
The first three are named the same as the data center virtualization paper previously mentioned, though they will be discussed here in relation to desktops, while the last two are unique to this white paper.
The dreaded word in IT seems to be Plan. Over the years of training and consulting, I have found that few people in IT like it, fewer do it, and even fewer like to do it. That causes big headaches, as without planning, anything will do. Simply buy whatever you have budget for, plug it all together, and go to work. This goes for the storage, servers, network, and end-user connectivity devices. While the solution may work, it is not likely to work well.
So what do you need to know to properly plan for a desktop virtualization project? First and foremost, you need to know what you are consuming today on your desktops. For example, you'll need answers to questions like these (both on average as well at peak periods):
How many GB of RAM is in use in each desktop? By this we mean, actually used, not simply installed. In most scenarios, it is usually less than 2 GB, except for some power users.
How many MHz (or GHz) are in use in each desktop? Again, it's not what is installed, but what is in use. Patterns of CPU utilization are particularly important to look for and understand to be sure that the environment works well at those peaks. Patterns to look for include:
Certain times of days that CPU utilization peaks, such as when people first get to work, just before leaving, and just before and right after lunch.
Times in the environment when the entire environment is busy. For example, virus scans or updates may be scheduled at certain times that affect everyone in the environment. These scheduled tasks can very quickly kill a VDI deployment. If the tasks must be executed, spread them out so they don't happen all at the same time. In other words, doing a virus scan at noon on every desktop in the company will drastically affect the environment; it would be better to schedule them throughout the day. And while on the topic, having them all run at midnight isn't much better.
Scheduled tasks at the OS level (especially the default ones) should be carefully analyzed and removed if not required.
How many GBs of storage are used in each desktop? How much of that is for applications and the OS vs. user data?
Is user data stored on each desktop or stored on central file servers?
How many MB/s or I/O operations per second (IOPS) are being consumed today on each desktop?Many VDI projects assume 5 IOPS as average with heavy users at 15 IOPS. That is probably not accurate in your environment; it may be much lower or higher, so measure it so sound decisions can be made.