Microsoft returns to Java, with an Azure-focused OpenJDK update

Java, microsoft, azure

Overview

A few weeks ago, an anonymous Twitter account told the tale of an almost-forgotten Microsoft April Fool’s joke: the 1996 seeding of empty containers of a “Microsoft Espresso” Java development instrument in Seattle. At that time, the pranksters were unaware that Microsoft was developing its own Java implementation, Visual J ++. That was the start of the first chapter of Microsoft’s Java story. Before being removed from the Visible Studio suite of tools, this was the subject of a legal battle between Microsoft and Solar Microsystems over its support for nonstandard Home windows APIs.

This story would have ended there if it hadn’t been for Azure and Microsoft’s determination to go where the developers are. Java’s return to Microsoft’s platform, with Java instruments for Visual Studio Code and support for Java on Azure, has been the second half of the story. After more than a decade after the demise of Visible J++, Microsoft is now offering its own open-source Java distribution, Microsoft Construct of OpenJDK.

Microsoft mentions that We use more Java than one can imagine. In addition to using it, Microsoft is also contributing to it, most recently previewing the Microsoft Build of OpenJDK. Moreover, they describe it as a new no-cost long-term supported distribution and Microsoft’s new way to collaborate and contribute to the Java ecosystem. In 2019, Microsoft made a significant push into Java by founding the Java Engineering Group in its Developer Division and acquiring jClarity to optimize Java workloads in its Azure cloud platform. It ported OpenJDK to Arm (AArch64)-based devices for Windows 10 last year.

Microsoft Previews Its Build of OpenJDK

The new Microsoft Build of OpenJDK represents a significant advancement. On macOS, Linux, and Windows, it offers Java 11 binaries (based on OpenJDK 11.0.10+9) for x64 server/desktop implementations. For the time being, the preview complies with Java 11 specifications and can be used to replace any OpenJDK distribution. According to the business, backported fixes and enhancements we find essential to our customers and internal users distinguish the Microsoft Build of OpenJDK 11 binaries from the competition. Internal Java development continues to focus on Azure, which powers vital tasks and supports global infrastructure. Backend microservices, Big Data networks, message brokers, event streaming services, and gaming servers all use JVMs.

One of the most widely used programming languages today is Java. Programmers use Java to create everything from mission-critical business software to hobby robots. Customers are increasingly using Java in our cloud services and development tools, according to Microsoft. Visual Studio always looks for ways to improve and expand our Java support for customers and developers.

Java at Microsoft

For several internal frameworks, programs, and workloads, Microsoft relies on Java technologies. This will make it possible for well-known public utilities and goods and many mission-critical systems to run on Azure infrastructure. To help their customers and users, they have been refining our Java-based techniques and protecting our supply chain. Including all Azure resources and customer workloads, Microsoft deploys over 500,000 Java Virtual Machines (JVMs) internally. Microservices on the backend, Big Data networks, message brokers, event streaming services, and gaming servers are all examples. The Microsoft Build of OpenJDK is now used in over 140,000 JVMs. Microsoft uses several open-source Java projects to support its global infrastructure and Big Data and log analytics frameworks through Azure.

The Azure Spring Cloud, Azure App Service, Azure Functions, and Azure Kubernetes Service are all seeing substantial increases in Java workloads. The Microsoft Build of OpenJDK will be the default Java 11 distribution for Azure-managed services. Customers will not be required to perform any maintenance activities as the transition will be seamless and straightforward. Customers may use their preferred JDK for all other Azure services, including Microsoft Build of OpenJDK.

Microsoft, Java, and Azure cloud

So, what makes Java so famous right now? The aim is to keep Azure-hosted application prices as low as possible. Because of Java’s complex history, Oracle now owns it and certifies Java development tools and runtimes. If you don’t want to pay for an industrial license, the GPL 2-licensed OpenJDK is an option. OpenJDK provides resources and binaries for Java runtimes and the designer toolkit, following the general public Java SE (Common Version) specifications. It comes with contributions from a variety of companies and individuals, including Microsoft.

Maintaining Java on Azure has reintroduced Java to Microsoft. As a result, Microsoft recently released its version of OpenJDK 11, aimed at designers working with Java on Azure. Using a free resource For some Java executions, Java avoids complicated licensing issues. Since Microsoft offers Java support for Azure Application Solution, Azure Functions, and Azure Springtime Cloud, OpenJDK will keep its costs down. This is because Microsoft will not have to pass licensing costs on to customers as part of Azure memberships.

More on Microsoft, Java, and Azure cloud

Microsoft’s sneak preview version of OpenJDK 11 is now available for download for Linux x64, macOS x64, and Windows x64. This includes debugging signs for all the releases as well as resources for your own builds. If you intend to work with Arm64, you can get an early preview of OpenJDK 16 for Windows on Arm. They’ll both have to deal with Aesthetic Workshop Code’s Java development tools.

OpenJDK 11 is now available in the Azure Cloud Covering, and you can use it with jshell to test code fragments. Being able to run Java code from the command line, whether in the Windows Terminal or on the Azure Website, is extremely useful. This will aid you in ensuring that your code will surely run on the new JVM. This gives you more assurance about the upcoming shift. Preliminary support for OpenJDK 11 makes sense, even though it is dependent on a 2018 release. Microsoft has been using Azul’s Zulu Business application of OpenJDK 11 on Azure for some time now, as it’s a long-term support release.

Changing to its own OpenJDK 11 from the same Zulu launch would have a lot less impact on existing code than a jump to the next long-term support update, OpenJDK 17, in 2021. Microsoft describes its OpenJDK tooling as a drop-in replacement for every other OpenJDK launch, whether on your own device or on Azure.

Utilizing OpenJDK on Azure

By the end of 2021, Microsoft will almost certainly make Microsoft Build of OpenJDK the default JVM for Azure-managed solutions. So now is a perfect time to download and install the sneak preview and start testing if your code can run on it. It was created with the same manuscripts as Eclipse’s Adoptium QA tools, and it was tested against the Java Innovation Compatibility Collection. As a result, Microsoft’s OpenJDK should be a drop-in replacement for Azul Zulu’s OpenJDK programme. However, it’s always a good idea to double-check that it won’t have an effect on your code. If you want to change the JVM, you’ll have to rebuild your image to use the Microsoft OpenJDK devices.

Even though Java SE provides a standard framework for Java applications, it is not the full Java Business Version release. Using OpenJDK helps keep costs down while still adhering to Java requirements and ensuring that existing code continues to run. Microsoft understands its digital makers’ abilities as well as its very own Linux container OS. So it can build a better OpenJDK version and also send its changes upstream.

Bottom Line 

It’s important to note that the Microsoft Build of OpenJDK is a Microsoft-only version of OpenJDK. That means it includes Azure- and Microsoft-specific solutions that may not yet be fully available in the upstream supply chain. However, this is not a fork of OpenJDK by Microsoft since all the solutions in its distribution have been submitted to the OpenJDK project. Its releasing version includes Azure and Windows support, as well as bug fixes that have been tested and are working, ensuring that the code isn’t affected by known issues.

If you find this blog interesting, please check our rest blogs too. Please browse our website and check out our services and technologies we use. If you have any queries, then please do contact us. We feel happy to hear from you!