Yesterday saw the announcement of a re-packaging, re-branding and new technology drive for POWER™ Virtualization now PowerVM™. You can see the full announcement here. It is good to be back working on VM, sorta.
Over on virtualiztion.info, Alessandro Perilli, says we are “missing the market in any case because its platform is unable to virtualize Windows operating systems”. I say not.
POWER isn’t Windows, it’s not x86 hardware. We scale much, much higher, perform much better and generally offer high availability features and function as standard or an add-on, way ahead of Windows. Running Windows on PowerVM and Power hardware would pick-up some of the reliability features of the hardware transparently, and the workload consolodation potential would be very attractive. What it comes down to though, is what it would take to virtualize Windows on PowerVM?
We could do it. We could add either hardware simulation or emulation or more likely translation that would allow the x86 architecture or Windows itself to be supported on PowerVM. There would be ongoing issues with the wide variety of h/w drivers and related issues, but lets put those aside for now.
We could have gone down a similar route to the old Bristol Technologies WIND/U WIN32 licensing and technology route, porting and running a subset of WIN32 or even via mono or .net. We might even call it PowerVM Wx86. Just reverse engineering MS technology is neither the right idea from a technology or business perspective.
So technically it could be done one way or another. The real question though is the same as the discussion about supporting Solaris on Power. Yes, it would be great to have the mother of all binary or source compatibility virtualization platforms. However, as always the real issue is not if it could be done, but how would you support your applications? After all isn’t it about “applications, applications, applications“?
And there’s the rub. If you wanted to run middleware and x86 binary applications on POWER hardware, then you’d need support for the binaries. For middleware, most of the industries leading middleware is already available on either of AIX, i5/OS or Linux on Power, some is available on all three. What would software vendors prefer to do in this case? Would they be asked to support an existing binary stack on Windows on PowerVM, or would they prefer to just continue to support the native middleware stacks that benefit directly from the Power features?
Most would rather go with the native software and not incur the complexities and additional support costs of running in an emulated or simulated environment. The same is true of most customer applications, especially those for which the customer doesn’t have easy or ready access to the source code for Windows applications.
The same isn’t true with PowerVM Lx86 applications. First because of the close affinity between Linux and Linux on POWER. There are already existing Linux on Power distributions, the source code is available, and most system calls are transparent and can be easily mapped into Linux on POWER. Second, drivers, device support etc. is handled natively within either the POWER hardware, PowerVM or within the Linux operating system, running in the PowerVM partition. Thirdly, IBM has worked with SuSe and RedHat to make the x86 runtime libraries available on Linux on POWER. Finally, many middleware packages already run on Linux on POWER, or it is available as open source and can be compiled to run on Linux on POWER.
All of which makes it a very different value proposition. Using NAS or SAN storage, it is perfectly possible to run the same binaries currently or as needed on x86 and PowerVM. The compilcations of doing this, the software stack required, as well as the legal conditions for running Windows binaries just don’t make it worth the effort.
Although not identical, many of the same issues arise running Solaris, either Solaris x86, or OpenSolaris PowerPC port. So, thats a wrap for now, still many interesting things going on here in Austin, I really well get back to the topic of Amazon, EC2 and loud computing, memo to self.