Monday, November 13, 2006

Virtualization - more bits to break?

Virtualization or Virtual Machines (VMs) hosting Operating Systems in production environments... My reaction to this is, why would you do it?. Why run what is effectively an operating system emulator inside an otherwise decent operating system?

I understand the benefits of VMWare (and Microsoft's new Virtualization) type environments for demonstration, development and maybe even QA environments. And the VMWare player for 'safe' Internet browsing is a clever application of the technology. The main advantage here being that a VM image is a self contained environment that can be copied as just a bunch of standard files from one machine to another, enabling easy backup and snapshotting of an environment at a point in time. This is great for QA Testers and Sales Engineers everywhere. But in a production environment, where you want to squeeze every little bit of juice out of that expensive piece of hardware, I'm struggling with the idea.

I have heard IT shops suggest that VMWare can be an incredible boon for them. Now they have the opportunity to really use large, multiprocessor servers, running many systems, each within its own self-contained 'virtual machine'. This provides some advantages:

  • Limit the resources an individual system uses, for both performance and licensing
  • Enable the deployment of otherwise conflicting applications on a single box
  • Provide a level of manageability of servers, being able to start and stop VMs independently

Each of these reasons carries some advantages. I'm just not convinced that the overhead that a Virtual Machine hosted Operating System carries really helps organizations get the best out of their servers. My experience has been that a VM represents another layer of software to fail, either in terms of the hosted operating system, or just the VM environment - more moving parts means more bits to break. And the hosted VM/OS consumes resources on top of the host OS. Unless this really is an insignificant amount, it seems hardware intensive. Of course, IBM has been successfully doing this for quite a while with Dynamic Logical Partitioning (LPAR), which is tried and trusted (but also supported directly by the hardware).

So as customers ask me if Global 360 products will be officially supported on VMWare I still ponder the question. Sure, we support our products on a range of operating systems, including IBM AIX LPARs. If you want to run the products on a supported OS, that is fine - we don't typically state what the underlying hardware is, as long as it meets the minimum spec that any off the shelf hardware is likely to meet (of course, you need a bigger box to support 10,000 BPMS users!). The problem is, that by specifically asking if we support VMWare implies that we need to QA this environment as well, which is an expensive proposition, as any software vendor understands the costs of adding additional platform support.

This is how I am thinking of addressing the VMWare question. For systems that do not require specific hardware attachments (like scanners or optical jukeboxes) I'm starting to believe that it is safe to assume that VMWare is equivalent to just another hardware platform. But I'm really really struggling to find out, behind the murmur of requests: How many real production systems of a decent scale are out in IT-land that are running on VMWare? Do they run well, all of the time? How well are they supported by the application vendors? Oh, so many questions!

Technorati tags:


Neil Richardson said...

For what its worth, we see virtualisation play a role in development and quality assurance environments where IT tends do juggle resources around to meet budget constraints but rarely (if ever) as a full blown production platform.
The challenge here is having to support the virtual environment just so as to jump through the approval hoops for production acceptance.

Phil Ayres said...


It seems like you are experiencing VMs in a similar way to me. Your note on the need to juggle resources is very important in the pre-production environments. This is a strong driver for VM adoption, and maybe it is the people in dev/QA that are believing that virtualization could provide more in the big-money production environment.

Certainly, I have seen plenty of customers use IBM AIX LPARs to split up their big servers. Maybe the hardware support for this makes it work well. I think doing this on big Windows boxes may be a little further off. Though I will definitely be tracking how Microsoft handles the certification/support issues.