Microsoft plans to add Java to its Windows Azure cloud service, adding to the growing portfolio of enterprise software it offers as hosted services.
"Having support for a Java platform on Azure is something our customers have been asking for," said Gianugo Rabellino, Microsoft Open Technologies' senior director for open source communities.
Rabellino announced the Azure addition at the O'Reilly Open Source Convention, being held this week in Portland, Oregon. "Customers will be able to run their Java workload in a fully supported environment," he said.
Microsoft will offer the Java Standard Edition (Java SE) by the end of the year both as a stand-alone PaaS (platform as a service) and as component of a Windows Server IaaS (infrastructure as a service), both on the Windows Azure service.
For the Java runtime, Microsoft has commissioned Azul Systems to develop and maintain a version of the Java OpenJDK, the reference implementation of the Java Virtual Machine (JVM) and runtime for Java SE.
Azul has plenty of experience with Java. The company's flagship product, Zing, is a customised JVM for high performance use that has been on the market for over a decade, and has found customers in the financial community. As a result, Azul has extensive experience working with the Java compliance tests. Although the specification for Java itself is open source, vendors must have any products using the Java name pass the Oracle compatibility test.
Azul also has members in the Java Community Process (JCP), the board overseeing Java development.
The addition of Java shows that "Microsoft is serious about running any and every workload," on Azure, said Al Hilwa, an IDC analyst covering application development software. "Azul is an excellent partner that knows open source and can really bring its Java knowledge to Azure cloud enterprise clients."
Although Rabellino did not say why Microsoft hired an outside contractor to maintain the OpenJDK, the move is not a surprising one, given Microsoft's rocky history with Java. The company launched its own version of the language, called J++, in 1996, the year after Java itself debuted.
J++ prompted a lawsuit from Sun Microsystems, which then owned Java and licensed the technology to Microsoft. Sun charged that Microsoft's version of Java was incompatible with the Java specification. As a result of the legal action, Microsoft stopped updating J++ by 2001, and discontinued support for the language by 2004.
Perhaps Microsoft has learned its lesson. Microsoft has directed that Azul's version of the OpenJDK adhere to the Java specifications as closely as possible.
"Our intent is to deliver - and I don't mean this is a derogatory way - a vanilla version of the JDK. We are focused on standards compliance," said George Gould, Azul's vice president of business development. Azul will have a dedicated a team for building, certifying and distributing the OpenJDK, as well as maintaining old versions with patches.
To date, there have been no commercially supported versions of the OpenJDK for Windows platforms, Gould claimed. There are plenty of other cloud services offering the language though.
Oracle itself does not offer Java SE as a service on its own Oracle Cloud, the company confirmed. Oracle does, however, offer the Java Enterprise Edition (Java EE) as a service. Java EE is a Java platform with additional frameworks to ease production use of applications.
CloudBees is another service offering the OpenJDK as a service. "We've offered this formally since July of last year, and we continue to update the Java versions available on CloudBees to include the milestone builds as OpenJDK progresses," said Steve Harris, senior vice president of Products for CloudBees.
Cloud Foundry, Amazon Web Services, and Google App Engine all offer Java, or subsets of Java functionality, in the cloud as well.
In addition to running Java programs, the OpenJDK will also allow Azure customers to run programs written in other JVM languages, such as Groovy, Grails, Clojure and Scala. Now, customers can upload their own libraries for these specific languages, though Microsoft may start offering native support for them in the future, Gould said.
Prior to the full release of Java on Azure, Microsoft may also release preview editions in the upcoming months. The first release will support Java 7 and Azul will rapidly incorporate new editions of the language as well, starting with Java 8 expected later this year. Azul will also maintain older versions of the OpenJDK for Azure.
"The level of support will go beyond what other vendors will offer," Gould said. "If customers want a bleeding edge they can get that, and if they want a longer term commitment to a version, that will be there as well."