Virtualization is not new to me. I’m now using a variety of virtualization platforms like VMware Server, Linux KVM and Xen. VirtualBox has become the most recent platform that I’m exploring, and that started some time last year. But it’s only now that I’ve got Windows XP running beautifully in VirtualBox hosted on Mac OS X and Linux platforms that my excitement in desktop virtualization has been renewed. Having 4GB of RAM on my MacBook helps a lot too.
Virtualization is becoming the new OS. I was having a discussion with my colleagues this morning. VMware has a very clever strategy with their VMware ESX platform. This is the VMware virtualization solution that runs directly on hardware, without needing any underlying operating system like Windows or Linux. They’ve squeezed themselves beneath the operating system. Your typical applications require an operating system to run on. Most other virtualization solutions require an operating system to run on (or to run with). I know all these, but what is not so obvious is the far reaching significance of such a positioning.
VMware ESX offers features such as virtual switching, Fibre Channel HBA consolidation, and a bunch of other virtualization stuffs that hide the complexities of the underlying infrastructure from the higher layer Guest OS. They also apparently work with hardware manufacturers such as IBM and Cisco to integrate advanced hardware and software capabilities into the virtualization layer, again making it transparent to the Guest OS. For example, Cisco will offer a virtual software switch that can be plugged into the VMware ESX infrastructure.
Do you see this coming? The virtualization layer is becoming the new operating system. The traditional operating systems like Windows and Linux have become “applications” that run on the virtualization layer. (I omitted to mention Mac OS X because their EULA forbids you to install the OS on anything other than Apple hardware… I imagine installing it in a virtual machine would be disallowed as well.)
If you take this one step further, the “application” is really the entire OS-application stack… such as LAMP/WAMP (the Linux/Windows-Apache-MySQL-Perl/PHP/Python/etc platform) as well as the user application sitting on that platform. This is the Virtual Appliance.
Now we worry about hardware compatibility with the operating system. In the virtualization generation, we only need to worry about the hardware being compatible with the virtualization layer.
This will be the next generation of operating systems in the data centre.
Now, I wonder if VirtualBox has “running on bare-metal” on their road-map.