Quick: Name a task that's less enjoyable than managing client operating systems and applications! I have a feeling that if you're a seasoned IT pro, you had to think for a few seconds (and, I'll bet that many of you came up with some very creative responses). Clearly, the challenges of keeping end-users' systems up-to-date can be a thankless and never-ending ordeal. Vendors have heard your cries, and various solutions are available. At the risk of sounding like a flight attendant, I do understand that you have a choice in choosing virtualization approaches. In this series of tips, I'll describe details related to the pros and cons of desktop application and OS virtualization. Let's start by defining the problem.
Desktop management challenges
There are many reasons that desktop computers can be more painful to manage than their server-side counterparts. Some important issues include:
- Analyzing administration: Desktop and notebook computers are often located in the most remote areas of your organization (or outside of it altogether). Performing systems administration tasks can sometimes require physical access to these machines. And, even with remote management tools, the client-side machine has to be online and connected to the network. The result is significant time and effort requirements for keeping systems optimally configured.
- Mitigating mobile mayhem: Traveling and remote users can be (quite literally) a moving target: It seems that as soon as you've deployed a system for their use, changes are required. While some users can't avoid working offline, there's a subset of the user population that might need to access their OS and applications from multiple locations. Managing multiple pieces of hardware or shared desktop machines can be time-consuming and tedious.
- Dealing with distributed data: Security and regulatory compliance requirements necessitate the management of data. It's far easier to secure information and prevent data loss or theft when everything's stored in the data center. While stolen laptops can be costly, it's far cheaper than dealing with stolen data.
- Application anarchy:
Deploying and managing desktop applications can be a struggle. While deployment tools can simplify the process, issues like managing application compatibility problems can lead to a large number of support desk calls. Other issues include tracking license usage, ensuring that systems remain patched, and providing the right applications on the right computer at the right time.
- Bumbling backups:
Ensuring that data remains protected on desktop and notebook computers can be problematic. Even with the use of backup agents, there's room for error. And, getting users to consistently save their important files to network shares can seem futile.
- Hardware headaches:
Managing desktop and notebook hardware can be time-consuming. Add in the costs of technology refreshes and verifying hardware system requirements, and the issue can quickly float to the top of an IT department's list of costs.
From a technical standpoint, the issue is that applications are tightly tied to their operating systems. And the operating systems, in turn, are tightly tied to hardware. Solving these problems can help alleviate some of the pain.
Choosing a virtualization approach
There are several different approaches to addressing desktop-related challenges. One caveat is that the terminology can be inconsistent. I've taken a shot at categorizing the different approaches, but vendors' descriptions do differ. Here's a breakdown:
- Presentation virtualization: Some users require access to only one or a few applications (think about call center and point-of-sale users). The main idea behind presentation virtualization is that all applications are installed and executed on a specialized server that can then redirect video, keyboard, and mouse signals between a small client application or a thin client device. Since applications are installed centrally, deployment and management is less of an issue.
- OS and application virtualization: For some portion of the user population, such as traveling employees or "power-users", there's a real need to run an operating system directly on individual computers. In these scenarios, it's still desirable to simplify the deployment and management of applications. Application virtualization solutions provide a way to either compartmentalize or stream programs to the computers that need them. The process is quick, safe, and can happen with little IT involvement.
- VM-Based Virtualization:
Looking for solutions
In this tip, I presented some of the problems that desktop virtualization attempts to address. It's important to understand your pain points before you start looking for a remedy. Then, I described three high-level approaches for solving common problems. In the next part of this series, I'll present information about the pros and cons of each approach, along with specific products to consider.
About the author: Anil Desai is the author of numerous technical books focusing on the Windows Server Platform, Virtualization, Active Directory, SQL Server, and IT management. Most recently, he has written The Rational Guide to Managing Microsoft Virtual Server and The Rational Guide to Scripting Microsoft Virtual Server. He has made dozens of conference presentations at national events and is also a contributor to technical magazines.