Following an announcement of their partnership in July this year, Azul Systems and Microsoft Open Technologies have now release a GA version of Zulu for Windows Azure. Licensed under the terms of the GPLv2 open source license with the ClassPath Exception, Zulu is an OpenJDK-based JVM for Windows Server on the Windows Azure Cloud. It fully implements the Java Standard Edition (SE) 7 specification, and passes all of the 65,000 or so tests in the relevant OpenJDK Community Technology Compatibility Kit (TCK).
Zulu, built and distrubuted by Azul, is a pure OpenJDK implementation and doesn't utilize any of the vendor's Zing technology such as the pauseless C4 Garbage Collector. "It is OpenJDK, and right now nothing more," Gil Tene, CTO and Co-Founder told us.
We do intend to add and improve but in a different way to Zing. The market for this is not scale, performance, and better consistency or better metrics than other JVMs. It's more about development access and deployment. So things that we'll probably add over time will be manageability, and tight integration with deployment tools - making it work with IDEs as if it was on your desktop.
To that end, Zulu is currently integrated with Microsoft Open Technology's Windows Azure Plugin for Eclipse. Tene explained that as well as offering a push button deploy, Azul and Microsoft have taken care of the logistics so that, for example, the JDK portions come from within the Azure cloud rather than having to be pushed up from the PC each time.
Azul also told us that as part of this initiative, they will be contributing patches and bug fixes back to the OpenJDK community.
Whilst no announcement is imminent, the partnership with Microsoft does open up some intriguing possibilities in terms of making Windows a better operating system for running managed workloads such as Java and .NET. Azul tried to persuade the Linux Kernel community to make some changes at a kernel level, going as far as releasing an enhanced set of loadable Linux kernel objects (LKOs) that expose new functionality and interfaces, released under GPLv2. However this turned out to be "too slow a path with too much resistance from the Linux kernel community" so the firm chose instead to avoid affecting the kernel and focus on loadable modules. "We had to accept some limitations for that but we found our ways around them. But I still think in the long term it would be much better for operating systems to have more consideration for what managed environments like Java and .NET need," Tene told us.
I think interestingly in other operating systems it might be easier not harder to get what we want. In the Linux community you have to overcome resistance that is more ideological than pragmatic and commercial. Whilst in other environments you have a commercial entity with an interest, and if you can offer a real reason it can be easier to get things done.
The Zulu technology preview is available immediately for free download.