VMworld is clearly the largest dedicated virtualization conference, and yet from an Open Source perspective it is slightly disappointing because the VMware ecosystem naturally attracts proprietary software vendors, and also some of the more interesting activities in Open Source are through multi-vendor foundations which do not have the same marketing budgets as vendors themselves.
Nevertheless, there are a number of key Open Source players, and some interesting smaller players, represented at VMworld.
Java based applications can now be moved between not only a SpringSource TC-Server Java platform on VMware vSphere, but also between the same platform on VMForce, and now Google AppEngine. This level of support from VMware, Salesforce.com, and now Google is starting to make SpringSource look like the early leading technology for PaaS Clouds. This is a significant advance in the state of PaaS clouds as there were previously no examples that offered such broad support for one platform by such a diverse set of industry leaders. However as is always the case, platform advances have outstripped security, management and performance assurance capabilities.
When we put a .NET application on Windows on Hyper-V (or a Java application on Linux on ESXi) we are actually virtualizing twice. Can we virtualize only once, by putting the CLR or the JVM directly on the VM Host? In this action of course we remove the operating system. Oracle is taking the lead in this area with JRockit VE JVM. There is no VMware support, the only hypervisor it supports is Xen, or more precisely Oracle VM. it only comes bundled only with an Application Server, namely Oracle WebLogic Suite Virtualization Option. The entire stack inside the virtual machine is in “User Mode” in other words the JVM and the drivers are all in the same memory address space and you don’t need to switch contexts into Kernel Mode in order to perform I/O or network access. Does VMware have a strategic initiative (or even a skunkworks) to engineer a similar bundle for its SpringSource runtimes? Or are they just concentrating on scaling out with as per the Google announcement?
Development tools like Eclipse and Visual Stuio are being built to ensur applications can be deployed in to the cloud on application servers. Key challenges include the manageability and scalability of application servers. Innovations include the use of non-java languages like Groovy and Jython and even PHP and Javascript on JVMs, and the final demise of SQL as object caches offer more natural scalability.
We recently received a presentation on a combined solution from Eucalyptus and Terracotta. Initially we were suspicious because they clearly share an investor – Benchmark Capital. Was this a PowerPoint integration dreamt up by two Venture Capitalists over a power breakfast? However, the combined solution was presented by some very plausible techies with a real-live demo and does look as though it starts to provide a generally-useful abstraction over which to deploy scalable applications (specifically Java stacks), and it too works with commodity hardware. It’s not as slick as the 3Tera solution, more of a command-line approach, but it potentially has the edge in scalability.
In the fog of the datacenter virtualization war, it is difficult to see clearly who will end up on top, and yet the outcome is almost certainly determined, and the victorious generals are even now moving on to fight new battles. Here at the Virtualization Practice we too would like to think we can see through the fog to work out who has won, so here are our thoughts, take account of them as you wish. They concern, primarily, the big four protagonists: Microsoft/Hyper-V, Citrix /Xen, VMware/vSphere and Red Hat/KVM.