Microsoft OpenJDK Goes GA at Build
Microsoft made its distribution of OpenJDK generally available at its Build 2021 virtual conference so that developers who want to use Java on the Azure cloud can do so.
OpenJDK is the free and open-source reference implementation of the Java SE Platform, which includes the Java Development Kit (JDK). The GA release of the Microsoft Build of OpenJDK follows swiftly behind an April preview release of the technology, which is a long-term support distribution. It is free and supported by Microsoft for customers with qualifying Azure support plans. It includes binaries for Java 11 based on OpenJDK 11.0.11 on x64 server and desktop environments on macOS, Linux, and Windows.
Microsoft Is Open for Java
As Java is one of the most popular programming languages in the world, used by over 7 million developers, Microsoft is intent on bringing more of those developers to the Azure cloud, said Julia Liuson, corporate vice president of Microsoft’s developer division, in an interview with The New Stack. And while the company is a bit of a latecomer to the Java ecosystem, it knows its way to developer hearts and minds is through participation in and cooperation with the ecosystem, she said.
Moreover, Microsoft itself is a big user of Java. “We have our version of OpenJDK running on hundreds of thousands of VMs inside Microsoft,” Liuson said.
Java powers some of Microsoft’s core products such as LinkedIn, SQL Server, Azure, Minecraft and Yammer. In addition, Microsoft-owned GitHub is the home for open source Java projects, with over 3.6 million hosted Java repositories, Liuson said. The company has been offering free cloud compute cycles to support CI/CD and code scanning capabilities in GitHub repos, which help to power several of the top Java projects from organizations like the Eclipse Foundation, Apache, VMware, and Red Hat, she said.
“We’re running hundreds of thousands JVMs in production for our internal systems (not including any customer workloads), and LinkedIn alone has thousands of Java microservices in production,” Liuson said in a blog post. “Microsoft brings the expertise of running enterprise Java workloads, both internally and externally, to help our customers transform their business.”
In addition, to better support organizations with Java workloads Microsoft has teamed with companies such as VMware on the development of Azure Spring Cloud as a managed destination for Spring Boot applications. Microsoft also acquired JClarity, a London-based Java performance monitoring software provider and consultancy, in 2019 as the foundation of the Microsoft Java Engineering Group.
“We now support the full range of Java EE and Jakarta EE application servers though partnerships and agreements with Red Hat, Oracle, and IBM, with newly released offers for Red Hat JBoss EAP and IBM WebSphere on Azure Virtual Machines,” Liuson said in her post.
Helping out the Community
Yet, while Microsoft is doing much to enlist Java users to move to the Azure cloud, some in the community wish they could do more for the community as well.
“Microsoft’s recent announcements concerning their improved support of Java on Azure reinforces Java’s importance in enterprise computing. I am really happy to see the clarity of vision in Microsoft’s strategy: attracting enterprise workloads to Azure means supporting Java in a first-class way,” said Mike Milinkovich, executive director of the Eclipse Foundation. “However, the next step in Microsoft’s journey will be to fully participate in the developer communities that are building the future of Java. Microsoft’s partners IBM, Oracle, and Red Hat are working in the Jakarta EE and MicroProfile communities. Their WebSphere Liberty, WebLogic, and JBoss EAP products support both Jakarta EE and MicroProfile specifications. Microsoft’s knowledge and perspective would be welcome in those communities as they work towards creating the next generation cloud native platform for Java.”
As Liuson alluded to, Microsoft is running over 500,000 JVMs in production for its internal systems, and LinkedIn alone has over 1,800 Java microservices in production. Microsoft itself has over 60 Java open source projects on GitHub.
Microsoft has worked with its ecosystem partners to bring existing Java workloads to Azure and extend the functionality of applications for customers such as Kroger Swiss re and AIA Singapore. For instance, AIA Singapore migrated several dozen Java apps from JBoss EAP servers to a hybrid architecture on Azure featuring Apache Tomcat and Azure Kubernetes Service, Liuson said.
“It’s always a great day when the Java community gets another option for PaaS offerings,” said Todd Williams, vice president of technology at Genuitec, Flower Mound, Texas. “And it appears that Microsoft has built a very attractive and competitive offering for many types of Java workloads with a partner network that should just about ensure some level of success.”
Meanwhile, Liuson said Microsoft is working closely with the Java community to ensure that Java is optimized for cloud native computing.
“This is a conversation we’re actively participating in with the overall OpenJDK ecosystem,” she said. “We spent the last couple of years earning our stripes and doing things like making garbage collectors faster, improving startup time for containers and making Java better for building microservices. But we are working with the ecosystem. There are a number of partners working together on this particular initiative.”