When the Microsoft folks in charge of the Azure cloud decided that it was time to get serious about embracing the enterprise Java community, they knew that their first step was to bring a world class implementation of a Java runtime environment to their platform.
On one end of the extreme, Azure could have just licensed the JDK from Oracle. On the other side of the spectrum, Microsoft could have just plucked the latest GPL licensed version of the OpenJDK and had their own engineers customize the project accordingly. In the end, Microsoft took a position somewhere in the middle of these two extremes by choosing to partner with Azul Systems, the people behind the closest thing the Java community has to an infinitely scalable JVM. As was recently announced, "Microsoft and Azul Systems are partnering on a Windows distribution build of the community-driven open source Java implementation, known as OpenJDK (Java Development Kit), for use on Windows Server on the Windows Azure cloud computing platform."
Azul Systems: Microsoft's partner of choice
So why did Microsoft choose Azul Systems as their partner of choice? One of the reasons might simply be due to the fact that there wasn't much of an alternative. "If you look around the Java lanscape right now, there really aren't that many vendors," admits Azul Systems' CTO Gil Tene. Azure's choice really came down to choosing between IBM, Oracle, Red Hat and Azul.
Of course, IBM isn't so much in the market of developing JDKs as much as they are in the market of developing a massive stack of software products that run on the Java virtual machine. And the big reason IBM develops their own flavor of the Java Virtual Machine is so they can support a single line of products across their various, proprietary hardware and software platforms. IBM builds JVMs for IBM, not for their competitors.
Oracle is of course the steward of the Java platform, so they too would no doubt have been interested in working with Azure. But Oracle is so highly vested in the same middleware space as Microsoft that it would be a competitive mistake to allow Oracle to tailor a JVM for Azure that might give the Oracle stack of products a competitive advantage. Sometimes it just makes sense not to line the pockets of your direct competitors.
And the third vendor in this peculiar oligopoly would be Red Hat. They're pretty active in the OpenJDK space, and they certainly know the Linux platform inside and out. After all, they were the company that migrated all of the old, legacy iron away from the scattering of Unix platforms and helped consolidate the industry on Linux, much to the chagrin of the Microsoft developers who were pushing enterprise Windows software. Certainly leveraging the GPL licensed OpenJDK that Red Hat has invested so heavily in would be a smart move for Azure, but on the other side, allowing a company that has Linux, not Windows, as their primary revenue generator, might not be the brightest of ideas.
Choosing the high performance experts
So with IBM, Oracle and Red Hat out of the picture, what do you have left? Well, all you're left with is Azul Systems, a company that has prided itself on taking the OpenJDK platform and customizing it to a point where they are now running the most linearly scalable Java platform in the industry. They have no product lines that directly compete with Microsoft and Azure, they have extreme expertise in the virtual machine space, and they understand the various issues that arise when working in a virtualized environment of hypervisors spread over an immense number of processors, distributed across an unpredictably large geography. "Through Zing, we make high performance virtual machines focused on the higher end of the market where response time sensitive applications are doing large amounts of in-memory computations," says Tene. Leveraging the expertise of Azul Systems probably isn't the worst possible scenario for Azure.
Microsoft is always a tough sell in a room full of Java professionals, but anyone involved in the world of performance and scalability knows that Azul Systems is the premier provider in this space. With Azul behind Azure's JDK support, there will no doubt be many enterprise Java shops that will follow them to Microsoft's cloud.
What are your experiences like deploying Java applications to Azure? We want to know.