Thoughts on enterprise IT

Dustin Amrhein

Subscribe to Dustin Amrhein: eMailAlertsEmail Alerts
Get Dustin Amrhein: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Blog Post

Adopting Virtualization is Not Without Friction

Advanced virtualization techniques present friction to users

This much is clear, advanced virtualization techniques are here. Some time ago, we moved beyond base operating system virtualization, towards virtualization approaches that render more functionally complete systems. From single virtual images that contain entire software stacks (i.e. LAMP, JEE servers, content management systems, etc.), to virtual appliances built to satisfy particular workloads, the functional encapsulation provided by various virtualization techniques continues to expand. On the surface, this is an obvious benefit to end-users, but that does not mean it comes without challenges.

Because of our IBM Hypervisor Edition offerings, I get the chance to talk to quite a few users considering or already starting down the path of advanced virtualization usage. Many of the challenges users discuss with me come down to a friction between standardization/commoditization versus customization. One of the main benefits of virtual images and appliances (besides server consolidation and rapid provisioning), is that they encapsulate the results of installation, integration, and configuration of a given set of software components. This eliminates processes that were, at best, tedious, and often times error-prone and nearly impossible to repeat in a consistent manner. Users get what they should be able to assume are best practice deployments for the software in question.

However, the same technique that eliminates tedious, human-driven, error-prone processes also results in considerable friction. By consuming this method of service delivery, users essentially agree to various degrees of commoditization or standardization in the software stack. Believe me, there are many opportunities for friction here, including:

Type and version of software components: If anyone tells you about the commoditization of operating systems do not listen. For the most part, users are intensely loyal to their operating systems. Some times this is cultural, other times there is substantial business motivation (i.e. existing skills, type of physical infrastructure, etc.). Moreover, that's just the operating system.

Configuration of installation: Beyond the type and version of installed software, many users need (or in many cases, simply want) control of exactly how it is installed. As hard as it may be to believe, some users can't live with software not installed to a particular file system location (Note: To be entirely fair, sometimes existing management script dictate this. Other time it's just senseless.).

Configuration of integration: Given software component A and software component B, users will derive a myriad of ways to integrate the two components. There is absolutely no way to anticipate all of these integration configurations within a virtual image or appliance, much less allow for them.

While the degree of friction varies from user to user, invariably there is always some. The best advice I can give in the face of this friction goes along these lines:

Identify your degrees of variance: Determine how different the environment produced by the virtual image or appliance is from the environment you produce manually.

Categorize the variance: Determine if the differences are important. By important, I mean determine if they have a tangible impact on the quality of how you can deliver or manage the service, or if the difference would incur actual costs (i.e. investment in rewriting scripts to deal with different installation locations). Try to avoid categorizing variance as important solely because it is a departure from the way you do things today.

Make a plan to address the variance: For variance you deem to be important, determine if there is a mechanism by which you can correct it. Typically, these come through capabilities of tools that deploy and manage the virtual images and appliances. This may include methods for tweaking the contents of the virtual image, adding configuration actions to the image activation process, or adding steps to the end of the overall deployment process for the system.

This kind of thought process seems to resonate with many users. Of course, there are ‘gotchas' along the way, especially at the ‘Make a plan' step. Some users cannot address their particular points of variance, or the costs to address that variance is simply too high. In those cases, I have no qualms telling them that this mode of service delivery is not a wise choice. Largely though, I believe advanced virtualization applies and brings significant benefits to many situations. So in short, be on the lookout for virtual image and appliance forms of the services you use on a regular basis.

More Stories By Dustin Amrhein

Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, he worked on the development of Web services infrastructure and Web services programming models. In his current role, Dustin is a technical specialist for cloud, mobile, and data grid technology in IBM's WebSphere portfolio. He blogs at You can follow him on Twitter at

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.