WebSphere Liberty in the Cloud Pak for Applications offers something to love for operations teams and Java developers alike.
Java developers and architects are often faced with myriad choices when selecting a solution stack to build and deploy their cloud-native workloads. At the core, there are two major decisions, one driven by how you build your application and the other where you deploy it:
- What runtime(s) and framework(s)? The choice of runtimes and frameworks form the foundation on which to layer your applications and largely dictates what goes inside the container.
- What container platform(s)? And where do I deploy it? To move to the cloud, the choice of container platform to operationalize these workloads is strategically important.
The relationship of the container to the container platform is analogous to that of a car to the highway system:
There are several factors that differentiate one car from the other. Factors such as brand, reliability, safety, fuel efficiency, warranty, smart device connectivity, and customer service are typical considerations when choosing a car.
The same is true in this new emerging cloud-native world that runs on container platforms (Red Hat OpenShift is an example of one popular container platform). This post focuses on the first decision: What goes into the container really matters!
The programming models supported, application server design, runtime efficiency, security features, performance, observability integrations, logging/monitoring/tracing, DevOps tooling, and onboarding services/support impact development and operations alike. As depicted in the diagram below, these are all major considerations that go into choosing the right application runtime stack for your cloud-native workloads:
Four major topic areas of considerations
- Developing microservices faster: Based on the open source MicroProfile framework, WebSphere Liberty saves developer coding time and increases consistency by standardizing on common programming patterns, such as those for enabling application resiliency patterns.
- Lightweight, cloud-ready application runtime: Reimagined for the cloud, the Open Liberty architecture reduces the components loaded to the essential, loading only what is needed when it's needed, saving startup time and reducing memory footprint.
- Fast, cloud-ready Java runtime: Built on a high-performance Java virtual machine OpenJ9 that outperforms the Oracle JRE on startup time and memory usage.
- Enterprise-ready with world-class support: For your critical business apps, there's no compromising on security and support. IBM provides full-stack support for WebSphere Liberty and its platform to mitigate risk, saving your operations team from needless worry.
Let's cover each of these considerations in more detail in the following sections.
Develop microservices faster with your choice of programming model
WebSphere Liberty supports all the popular Java-based application frameworks, such as Java EE/Jakarta EE, MicroProfile, and Spring. Eclipse MicroProfile, however, is emerging as a powerful application framework designed to implement microservices-based applications.
Quick clarification: You may be wondering "What's the difference between WebSphere Liberty and Open Liberty?" As noted in the official WebSphere documentation, "Open Liberty is a lightweight open source Java™ runtime that is built using modular features. WebSphere Liberty is the commercial version of Open Liberty. In this blog post, references to simply "Liberty" should be interpreted as applying equally to Open Liberty and WebSphere Liberty.
The MicroProfile framework can be represented as three functional layers:
- RESTful Services: Defines core server-side and client-side APIs and annotations that simplify developing cloud-native Java microservices.
- Scalability Services: Simplifies the coding of common patterns such as timeouts, retries, fallbacks, bulkhead processing, and circuit breakers.
- Observability Services: Generates logging, tracing, and monitoring data in a cloud-native context, including exposing business-related telemetry data.
Simply stated, these predefined programming patterns save development time, increase consistency, and enhance reliability and maintainability for your cloud-native Java microservices applications.
Lightweight, cloud-ready application runtime
Java developers know that WebSphere has a long history of delivering rock-solid support for Java EE apps; WebSphere Liberty is a continuation of that history, building on the open source project hosted by OpenLiberty.io.
WebSphere Liberty is the industry’s first certified Java EE 8 runtime, beating even Glassfish, which is the reference implementation. Liberty is among the first to deliver the latest specifications of the MicroProfile framework. In addition, it supports popular cloud-native application frameworks such as Spring. Developers can choose the best framework for the workload at hand.
Liberty is dynamic by design. Being dynamic means configuration changes typically do not require a server restart, which is a significant advantage for lightening the demand on your cloud infrastructure. Most importantly, it boosts developer productivity where iterative inner loop development cycles can be performed more rapidly.
Liberty is a lightweight, composable application runtime. It was the first to introduce the notion of ‘just-enough-server’—a design feature that allows the server to load only those features needed by the application. It's simple to configure with a single XML file. This design feature also enables WebSphere Liberty to play easily in a DevOps and Infrastructure-as-code (IaC) cloud architecture.
These are some of the reasons why Open Liberty has been very popular, and Java enterprise developers have taken note! The Docker container image has exceeded 10M pulls, making it the most widely adopted IBM technology in Docker Hub.
Something to love for operations teams and developers alike
Cloud adoption isn't just about coding microservices-based apps; it also demands the same level of security and tools WebSphere developers/administrators have depended on for decades, tailored to a cloud-centric infrastructure. WebSphere Liberty has you covered:
- Security: IBM’s long-standing commitment to security, integrity, and protection of private data continues in the latest generation of our WebSphere portfolio. WebSphere Liberty is firmly rooted in the IBM Secure Engineering Framework. Our adherence to IBM’s Security and Privacy by Design (SPbD) ensures Liberty met the highest standards in secure engineering best practices, including assessments of how our software protects private data. These advances place WebSphere Liberty in a leading position as a runtime with world-class security for running your Java cloud-native workloads.
- Performance: With its small runtime size, low memory footprint, and fast startup time, Open Liberty's Java application server was designed from the ground up to be a cloud runtime. For example, Open Liberty recently introduced an innovative autotuning thread pooling algorithm. Benchmarks of a real client banking application have demonstrated up to 4-5x improvements in throughput for WebSphere Liberty; see Blazing the trail on a new SPEC benchmark for details.
- Zero migration: For cloud administrators, the Liberty runtime can be upgraded with no migration of the user configuration or application. This means you can keep all the middleware running at the latest version without having to coordinate updates with your users—effectively delivering new capabilities for one team without disrupting the other.
- Tools: WebSphere Liberty provides a rich set of tools that enhance team productivity. Some examples include WebSphere Developer Tools, IBM Support Assistant, Transformation Advisor, JSON, and Binary Logging. In addition, Liberty developers benefit from several Maven/Gradle-based plugins that enable DevOps and accelerate CI/CD. These are just a few examples of IBM’s focus on providing the best-in-class developer experience.
Thanks to its design architecture and cloud-friendly JVM, OpenJ9, Liberty is blazing fast. Let's review some of the OpenJ9 performance statistics in the next section.
Fast, cloud-ready Java runtime
All Java workloads need a good Java Virtual Machine (JRE) to execute. OpenJ9 is a high performance, scalable JVM that exhibits superior runtime characteristics over the Oracle HotSpot JVM—66% smaller footprint, 42% faster startup, and 100% throughput performance.
OpenJ9 is highly configurable and can be optimized to run a diverse set of workloads, ranging from complex long-lived enterprise apps executing on expensive mainframes to short-lived applications and services running in a container.
It also ships with innovative security providers—IBMJCEPlus and IBMJCEPlusFIPS—that provide differentiating security performance, especially when processing SSL traffic. With the dramatic increase of secure traffic, especially in a microservices environment, this feature alone is why many clients gravitate towards OpenJ9.
Developers and especially end users appreciate fast-running applications, but apps don’t run all the time. Most applications, particularly transactional ones, have quiet periods. During these quiet periods, it is highly desirable for the JVM to quiesce itself and reduce memory consumption. OpenJ9 has built-in optimizations for idle-time detection that can reduce the memory footprint. On the cloud, where one is charged by GB/hour, optimizations such as this can be a big cost saver.
OpenJ9 was the first JVM to implement container-awareness. The container-aware optimizations eliminate the need for manually setting JVM heap settings. Finally, serviceability enhancements in the Java core dump provide richer debug information, aiding rapid problem determination.
Enterprise-ready with world-class support
Beyond all the technical merits of WebSphere Liberty, your operations team knows that in complex enterprise deployments, things can go wrong. There could be performance issues, integration issues due to microservices APIs interoperability mishaps, or security vulnerabilities. Having a partner with a proven track record is like having a good insurance policy to protect against the unexpected.
IBM has worked with clients and partners for decades to build mission-critical systems. IBM software, services, and support are an integral contributor to this success. WebSphere has a very strong client base, with about 1 million applications deployed globally across 200 million instances. Nearly all Fortune 500 companies run mission-critical workloads on WebSphere. WebSphere Application Server (WAS) just celebrated its 21st anniversary. WebSphere Liberty optimized for cloud-native workloads represents our continued commitment to Java enterprise developers.
Cost of ownership matters too
The total cost of ownership (TCO) looks beyond the first year, taking into account all the ancillary costs that impact the bottom line. CIOs are under increasing pressure to deliver more with less, hence managing "Cloud Spend" is one of the top priorities of CIOs in 2019. There are three factors that impact TCO:
TCO = People costs + software costs + infrastructure costs
This blog calls out some of the design features that lead to an attractive TCO of a Liberty-based solution for creating Java microservices applications.
The Forrester report, The Total Economic Impact™ Of IBM WebSphere Liberty, goes into more detail, based on the experience of actual clients, by constructing a financial model that is representative of the issues and concerns of the interviewed organizations. Some of the report highlights include:
- Enhanced developer productivity: 25%
- Reduced administrator costs: 1.2 full-time employees
- Application availability: $3.75M/year
- Higher infrastructure utilization: 30%
For more details on the above analysis, download the report.
The quickest way to learn about WebSphere Liberty/Open Liberty is to explore the excellent set of Open Liberty starter guides. Install, code, and run in minutes with side-by-side instructions explaining the code.
WebSphere Liberty is one of the core runtimes available in the newly announced IBM Cloud Pak for Applications, designed as a faster, more secure way to move your core business applications to any cloud. The IBM Cloud Pak for Applications runs on the Red Hat OpenShift Platform along with an upcoming update featuring a Kubernetes-centric developer experience via the Kabanero Open Source project.
- Open Liberty and WebSphere Liberty: Build cloud-native apps and microservices while running only what you need.
- Open Liberty Guides: The quickest way to learn all things Open Liberty.
- IBM Developer blog: Modernize and containerize your apps with IBM Cloud Pak for Applications.
- IBM Cloud Pak for Applications: Move traditional apps from a monolithic to microservices-based architecture and develop cloud-native applications.
- Kabanero: Foundational open source technologies for a modern microservices-based framework.
- IBM WebSphere Liberty performance: Blazing the trail on a new SPEC benchmark.
- Open J9 performance: Benchmark shows significantly better performance for OpenJ9 over Hotspot.