Wednesday, 18 August 2010

Adopting Virtualization is Not Without Friction

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.

Join Us:

No comments: