Being an IT professional is similar to being a good cook. Even if you have great ingredients, success is realized only when you combine these ingredients in the ideal way. The same holds true for virtualization -- many technologies can work well together. The art is in determining which applications and services will benefit from one another.
The good news is that virtualization doesn't come in just one flavor -- administrators have numerous options from which to choose. You can combine different virtualization approaches to address some of the more difficult data center management tasks.
Goals of virtualization
IT departments can clearly benefit from increasing hardware resource utilization. Server consolidation can reduce costs and simplify deployment and management. It's common to create a "virtual machine library" or some other set of standard, IT-approved virtual machine (VM) templates to simplify the deployment process. But the number and types of images can quickly become difficult to create and maintain.
Then there's the need to manage applications: Administrators spend a large portion of their time deploying applications, keeping them up to date and (everybody's favorite task) troubleshooting compatibility issues. These challenges leave much room for improvement.
The right tool for the job: Virtualization options
A brief overview of the different types of virtualization can be helpful in discussing how best to combine them:
- User-state virtualization. It's a bit of a stretch to call this virtualization, but "user state" refers to all the information that is specific to application end users. This could include a user's documents, application settings and operating system options. Platforms such as Windows allow users to move their settings with them throughout an environment using roaming profiles.
- Presentation virtualization. In some cases, users don't really need the full functionality of a desktop computer. Presentation virtualization allows many instances of applications to run on the server side and to transfer only input (keyboard and mouse signals) and output (video signals) between computers. This approach provides a substantial scalability with centralized application management.
- Application virtualization. Application virtualization allows administrators to easily deploy, update and manage programs on demand for their users. Applications typically run in their own isolated virtual spaces on the client, so potential compatibility problems can be avoided.
- Server virtualization: This is the standard setup that enables a single server to run multiple isolated VM environments to increase hardware utilization, reduce deployment times and simplify management.
- Desktop virtualization. In this approach, users interact with entire guest operating systems that are running on data center servers (as in server virtualization) or over a network connection that supports interactions (as in presentation virtualization). Corporate applications and data remain stored in the data center, and users can access their own customized VMs as long as they have a network connection.
The terminology I have used here is far from universal, but most major virtualization vendors use these ideas in one way or another.
Better together: Mixing and matching
Now that our list of ingredients is out of the way, let's look at some scenarios that could benefit from combining virtualization approaches.
Desktop virtualization is often implemented as a combination of technologies. Presentation virtualization features are used to provide access to VMs that are stored on the server. Server virtualization is used to create and manage the images. Administrators can also leverage user-state virtualization to minimize the number of images they need to create and store.
Application virtualization can often be used in combination with -- or as a replacement for -- virtualized desktops. Generally, desktop computing resources such as CPU, memory, storage and network devices are far cheaper than those of server resources. For users who prefer complete desktop environments, application virtualization can lead to highly scalable environments. Better yet, their applications can follow them as they log on to different computers in the environment. Administrators can minimize problems with incompatibility, versioning and license tracking.
Application virtualization can also be deployed to operating systems that run within VMs. Instead of installing and maintaining applications on each guest OS, administrators can deploy software to only those instances that need them. This can reduce setup and deployment effort, the number of VM library images that are required, and licensing costs.
You complete me -- more or less
The best virtualization approach often depends on users' needs. Do they require a complete desktop environment? Will users work remotely or on the road? Do required applications run well within a VM or through the use of presentation virtualization? For example, if a mobile worker needs to run Microsoft Office while on an airplane, he could use offline VM images or application virtualization with cached installations. If a user primarily works in a single location but needs a specific application on multiple computers, application or presentation virtualization might fit the bill.
Cons for the pros
Of course, as with any IT technology, there are potential drawbacks to deploying multiple technologies. Generally, your organization must purchase and implement numerous products. Administrators must have the skills to create, deploy and manage these systems. And the overhead of working with heterogeneous platforms can be significant.
Many IT groups will find that by combining virtualization techniques, they can optimize application and service delivery and improve hardware resource utilization. So pick your ingredients, and start cooking up your own brand of IT "secret sauce" -- the ideal mix of virtualization technologies to serve your users, applications and services!
About the author