By Terry White
Enterprise Architect & HP Fellow
Desktop virtualization is a hot topic these days. I see emails, articles, and invitations for webinars about it every week. With this technology you can lower costs, improve security and enable secure remote access from a variety of devices. The implementation doesn’t seem complex on the surface – turn your desktops into virtual machines and access them from a remote device. How hard can that be? But after working on a large virtual desktop implementation recently I discovered some important considerations that can’t be overlooked.
If you are in complete control of your deployment environment, meaning all of your infrastructure components are co-located in one location and in one network space, you have root access, and all of your end user applications are either web based or the standard office variety, then virtual desktop implementation is easy.
If you are not in complete control of your deployment environment, which most of us aren’t, and you deal with a mix of software applications then keep reading.
- Most desktop computers are located in an office. Most desktop virtualization implementations will be in a data center. Data centers are great for running servers. Desktop management is different than server management. Some items to consider along with this realization are network separation for virtual desktop infrastructure servers versus virtual desktop guests, dynamic IP addressing (i.e. DHCP delivery), management tools, end-to-end monitoring, and span of control for the desktop support organization.
- Most end user applications assume a physical desktop implementation. An example to illustrate why this is an important consideration is that some end user applications put log files on the desktop computer during execution. These can be used for troubleshooting. In a non-persistent virtual desktop, where the desktop is rebooted between uses, these files would be lost. If you have these types of applications you’ll need to consider a centralized log file solution or other mechanism to preserve this data.
- Some applications connect to backend information or processing resources – a database, a message queue, a file system, an execution container, a resource (URL/URI), etc. Some of these applications store the location of this backend location in a configuration file on the physical desktop. A physical desktop can be preconfigured because you know its location and who is likely to use it. Virtual desktops are typically delivered from a pool of available started virtual machines. You don’t know who will use it or from which location. In our case we have different application backend choices based on different office locations. We had to develop a method that dynamically, upon user logon, determined which backend the applications should be configured to communicate with and then update their configuration with that information. Ideally your application configuration information should be externalized in a directory or database. However if you also need the user location or workgroup information to make this determination that information is not available until a user logs on to a virtual desktop. Even with this understanding it’s not always easy to get this information because it needs to be passed in from the physical device accessing the virtual desktop.
- Traditional desktop management solutions are designed to support many unique physical personal computers. The problem used to be that you had many physical personal computers and each needed to be managed individually. This is a huge task. The traditional desktop management approach builds an entitlement profile for each desktop and/or user and makes sure the desktop always meets that profile and that all the individual patches and Antivirus signatures are up to date. With a virtual desktop approach you can create a single virtual disk image that is shared among a large number of user and which is refreshed on each virtual desktop reboot. This reduces the problem to managing only a few images for thousands of employees. The trick is keeping it down to a few base images. These images are streamed from more than one disk location and they need to be kept in synch. They are between 10GB and 30GB in size. Managing each base image can be a time consuming process. If you have a diverse user population you may consider adding application virtualization to the solution to support unique user profiles and maintain a small number of shared base images.
- Most desktop computers are located in an office – it’s worth repeating. Along with the physical desktops being located in an office there are a number of other components which support the desktop infrastructure and which are also are typically located at the office location. These include File/Print server, email servers, user share drives, user profiles, Active Directory Domain Controller, etc. The virtual desktop solution would prefer these components be co-located in order to avoid latency and maintain performance. Consider consolidating these components with your virtual desktop infrastructure to gain both economies of scale and maintain performance.
Hopefully sharing this insight will help other desktop virtualization implementations go smoothly. These were situations that weren’t highlighted in the typical installation instructions. Desktop virtualization is a very promising technology which can be applied to many situations.
Learn more about HP Client Virtualization Services.