WebSphere Application Server Liberty overview

Liberty is a lightweight Java runtime for building microservices, modern monolithic applications, and anything in between. It is built on the open source Open Liberty runtime and is compatible with MicroProfile and Jakarta EE.


WebSphere Liberty and Open Liberty

The following capabilities are available and supported only in the WebSphere Liberty runtime. Otherwise, the WebSphere Liberty and Open Liberty runtimes are the same.

  • High availability and clustering in virtual machines (VM) with Liberty collectives
  • Product installation with Installation Manager
  • Ability to use Java EE 6 technologies
  • Through the heritageAPIs-1.0 feature, the ability to migrate WebSphere Application Server traditional applications that use certain deprecated programming models to Liberty without changing the code

  • WebSphere Liberty on z/OS operating systems operating systems

Most Liberty features and capabilities are now documented on the Open Liberty website. However, capabilities specific to WebSphere Liberty and some older features and capabilities are documented only in the WebSphere Liberty documentation. Features that are valid for both runtimes are documented in both WebSphere Liberty and Open Liberty, although the extent of what is documented about a feature can vary between the two documentation sets.

See Where to find Liberty documentation.

WebSphere Application Server Network Deployment Liberty is not available as a stand-alone product. To get entitlement to WebSphere Application Server Network Deployment Liberty, order WebSphere Application Server Network Deployment traditional. Entitlement to WebSphere Application Server Network Deployment traditional includes entitlement to the WebSphere Application Server Network Deployment traditional component and the WebSphere Application Server Network Deployment Liberty component. WebSphere Application Server Network Deployment Liberty is also known as WebSphere Application Server Liberty Network Deployment.

Open Liberty is open source and free to use. However, when you purchase a WebSphere Application Server or WebSphere Application Server Network Deployment license, we also get IBM support for your Open Liberty instances.


A flexible runtime with a focus on developer experience

Liberty is a flexible solution for developing and deploying all kinds of applications. Its modular structure is based around features, which enable the runtime capabilities the application needs. Whether you're developing cloud-native Java microservices with MicroProfile, or modern monolithic applications, enable the features that we want and Liberty automatically adds any dependencies for you. For a list of Liberty features, see Liberty features. We can also create our own features, as described in Extending Liberty.

Liberty helps you to be productive with tools of the choice. Liberty Tools are intuitive developer tools for the Eclipse IDE, Visual Studio Code, and IntelliJ IDEA development environments. These tools enable fast iterative development with Liberty dev mode and either Maven or Gradle. They also provide code completion, hover descriptions, and configuration diagnostics for MicroProfile API, Jakarta EE API, Liberty configuration, and Java files.

See Develop with Liberty Tools.

In dev mode, Liberty automatically detects changes in your code, compiles them, and deploys them to your running server. We can also run tests on demand, or even automatically, so that you get immediate feedback on your changes.

See Dev mode.

We can get the Liberty runtime in your internal development environment (IDE) or include it in container images using Maven or Gradle. Liberty provides custom plug-ins for Maven and Gradle. We can use these plug-ins to pull all the Liberty runtime files that we need from Maven Central and quickly and repeatedly build your code with dev mode.


Deployment of Java applications to the cloud, on VMs, or bare metal

We can deploy applications that run on Liberty in a container to a Kubernetes platform such as Red Hat OpenShift, Azure Kubernetes Service, Elastic Kubernetes, or a cloud provider of the choice.

See Run WebSphere Liberty in a container and the Open Liberty deployment guides.

Use the WebSphere Liberty operator to deploy and manage WebSphere Liberty applications that run in Kubernetes-based clusters. For applications that run on Open Liberty, use the Open Liberty operator. We can also use either operator to gather traces and memory dumps.

Alternatively, we can deploy applications that run on Liberty on VMs or bare metal, as described in Deploy applications in Liberty.


Deployment of Java applications on z/OS systems

We can deploy applications that run on Liberty on z/OS systems, as described in Deploy applications in Liberty.

Liberty provides both a development and an operational environment. On z/OS systems, we can work natively with the operational environment by using the MVS console.


Liberty continuous delivery

A new version of Liberty is released about every 4 weeks. This predictable continuous-delivery release cycle provides a clear expectation of when a new release is available and simplifies keeping up with the latest security fixes and updates. For more information about the Liberty release cycle, see Single Stream Continuous Delivery (SSCD) Software Support Lifecycle Policy: WebSphere Liberty.

In addition to IBM Fix Central, every Liberty release is available from Maven Central and IBM Cloud Container Registry so we can pick up the latest updates through build automation.

With zero-migration architecture, the existing APIs and behaviors that the application relies on are preserved and supported in each new release. In just a matter of minutes, we can move to the latest version of Liberty without having to change the application code or configuration.

We can also easily update applications that run on VMs or bare metal to a new Liberty version, either using IBM Installation Manager or by extracting downloaded archives.

See Install Liberty.


Application security

Liberty provides a range of built-in security features, including support for Transport Layer Security (TLS) and integration with security frameworks like Java Authentication and Authorization Service (JAAS). It automatically provides role-based access control (RBAC) for the application endpoints by enforcing the security roles defined in your Java or Jakarta Enterprise Edition application. It also supports numerous single sign-on solutions, including the following options:

During development and testing, the built-in basic user registry and the quickStartSecurity configuration element offer easily configurable security frameworks to test access to the application in a lightweight, self-contained manner. When the application is moved to production, we can convert the basic user registry to a production-ready LDAP user registry or single sign-on solution. After deployment, Liberty offers functions that support security hardening for applications in production. When the application runs in production, Liberty provides extensive auditing of security events that can be written to an encrypted and signed audit log to help ensure the integrity of the deployment.

See security hardening for applications in production.

The modular structure of Liberty presents a smaller attack surface than other Java runtimes. We enable only the features and capabilities that we need, which helps reduce the risk of vulnerabilities. And the Liberty four-week release cycle provides the latest security fixes to protect the applications from emerging threats and vulnerabilities. For more information, see Secure Liberty and its applications.


Observability and monitoring

Observability is not a one-time task but an ongoing process that must be integrated into your development lifecycle. Implementing observability in your microservices involves a combination of metrics, logging, and tracing. With MicroProfile Telemetry 2.0 and later, we can manage Liberty logs, metrics, and traces in a standardized way using the OpenTelemetry protocol.

See Collect logs, metrics, and traces with OpenTelemetry.

If we run applications in Kubernetes-based clusters, we can use the WebSphere Liberty operator with tools of the choice to observe our Liberty runtime. For more information, see Observing with the WebSphere Liberty operator.