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!