Looking back at 2022: A year of Open Liberty in review
Open Liberty, a modern, secure, cloud-native Java runtime, celebrated its 5th birthday in October. As many people are aware, though, Liberty’s roots are longer established: in 2017, IBM open-sourced its WebSphere Liberty Java runtime as the Open Liberty project. WebSphere Liberty, which in turn celebrated its 10th birthday in June this year, is still built from the open source Open Liberty codebase. And whether you’re running Open Liberty or WebSphere Liberty, you can pay for production support from IBM (in addition to free community support).
Open Liberty developers are significant contributors to the Java community, in particular to the MicroProfile and Jakarta EE projects. Open Liberty itself is a compatible implementation of the MicroProfile and Jakarta EE specifications and is used by those projects to finalise the specifications.
As you can see, Open Liberty has a long history and is still going strong, so we’ll take a look back at what’s been happening this year to see how 2022 sets up Liberty as a cloud-native Java runtime for 2023 and beyond.
Fast startup, without compromise, for cloud-native Java applications
A clutch of related releases throughout 2022 coalesced into the beta of Liberty InstantOn in September. Liberty InstantOn enables Java applications in the cloud to start quickly while still running on the JVM. The JVM is not otherwise known for its fast startup, though it’s generally recognised as performing well in production because of its Just-In-Time (JIT) compiler.
In June, IBM Semeru Runtimes, a free Java distribution of Eclipse OpenJ9 JVM with OpenJDK that is a good match for using with Open Liberty, released the Semeru Cloud Compiler. The Semeru Cloud Compiler decouples the JIT compiler from the JVM to prevent your Java application from suffering possible negative effects due to CPU and memory consumption caused by JIT compilation in the JVM. The JIT compiler is one of the culprits causing the JVM to be slow to start, so decoupling the two to run in separate threads enabled the JVM to run more efficiently.
In September, Liberty beta’d its InstantOn technology, which was a collaboration between the OpenJ9 and Open Liberty development teams. With InstantOn, at build time, you can take a snapshot, or checkpoint, of your Java application after it does the laborious parts of startup, then save that snapshot in your container image to deploy into production. When the containerized application is started, it skips the startup process that was completed before the snapshot was taken, making it much faster (up to 10x) to run the application. Inconsistencies between the checkpoint and restore environments, such as time, or saved data that could cause insecurities, such as security tokens, are handled by the JVM.
The best way to try out InstantOn is by using Liberty InstantOn, which shields the application developer from the complexities of how checkpoint/restore works in the JVM. If you have any feedback, let us know on our mailing list. As usual, if you hit a problem, post a question on StackOverflow, or if you hit a bug, please raise an issue.
Liberty Tools enhance your developer experience in your preferred IDE
In August, we introduced the new Liberty Tools for Eclipse IDE, which provide support for writing applications that use the MicroProfile EE APIs and for configuring the Liberty instance on which the application will run. The Liberty Tools also support running your application in dev mode (for easy iterative compilation and testing) and a dashboard for managing your projects. We then added Jakarta EE support to that in November.
The Liberty Tools are currently still in early release phases but the support in them is progressing well. This month, we released another early release refresh of the Liberty Tools, but this time across all three main Java IDEs: Eclipse IDE, Visual Studio Code, and IntelliJ IDEA.
You might be wondering how the Liberty Tools relate to what you’ve used previously in those IDEs to write Java applications with Liberty. The Liberty Tools use Language Server technologies so that we can more easily support working with APIs such as MicroProfile and Jakarta EE and editing Liberty configuration files in standard ways across different IDEs. Our VS Code and IntelliJ IDEA tools already supported writing applications using Liberty dev mode, but not much else. We’re now adding more capabilities, including support for configuring your Liberty instance, and for writing MicroProfile and Jakarta EE applications.
If you previously used Eclipse IDE to write Liberty applications, you were probably using the open source Open Liberty Tools for Eclipse, an open source project that we started in 2017 from the codebase of IBM’s long-support WebSphere Developer Tools. The new Liberty Tools innovate on the capabilities that were in the existing Open Liberty Tools, enable fast iterative application development, and then add support for more, such as writing MicroProfile and Jakarta EE applications.
You can try out the early release Liberty Tools on all three IDEs.
Java standards support in the Liberty runtime
Liberty supports MicroProfile 5.0 and Jakarta EE 9.1. We are currently working hard to complete the support for MicroProfile 6.0 and Jakarta EE 10; you can see our progress on both in our 4-weekly Open Liberty beta releases. You can try out Liberty’s MicroProfile 5.0 and Jakarta EE 9.1 support without installing anything by using our cloud-hosted guides.
In 2022, we also released support in Liberty for Java SE 18 (in April) and support for Java SE 19 (in October).
Japanese and Chinese blog posts on openliberty.io
In the last three months, we published our first blog posts in Japanese on the Open Liberty blog, which were translations of some of our recent blog posts. Then in December, we published our first Chinese language blog post, a translation of an article by Emily Jiang that was originally published in English on the Eclipse Newsletter.
Events in 2022
And finally, if you’re active on the Java and open source development circuit, you may have seen us present or met up with some of us this year.
YK, Grace, Rich, and Jamie have travelled far and wide, as well as virtually, to conferences and Java user groups, and appeared on various tech podcasts.
They were joined by various members of the Liberty and OpenJ9 development teams depending on their location.
And the Space Rover team launched their shiny new Space Rover at various locations around the world, including Atlanta, Texas, Chicago, UK, and Ireland.
Looking ahead: what’s happening in 2023?
While nothing in an Open Liberty beta is ever guaranteed to make it to GA release status (not least because your feedback could help revise our plans), our betas are usually a good indicator of where we currently intend to go in the near-ish future. So keep an eye on our beta releases, including Liberty InstantOn, MicroProfile 6.0 support, and Jakarta EE 10 support; let us know if you try them and what you think. Also have a go with the early releases of Liberty Tools in your preferred IDE and send us your thoughts. Then watch for our GA releases, which are typically every 4 weeks.