When running Java applications in a cloud, the supporting runtime needs to fit the cloud environment. WebSphere Liberty, with its small runtime size, low memory footprint and fast startup time, is the only Java application server that was designed from the ground up to be a cloud runtime.

And why is WebSphere Liberty the best Java runtime for the cloud?

Runtime size

No one likes a large product download. Platform as a Service (PaaS) clouds typically deploy the runtime with each application update, so the size of the runtime directly affects the speed of application deployment. Liberty provides a Java EE  7 Web Profile installable archive in less than 65MB. This can be further shrunk to provide the right sized runtime for your application. This means that application updates are faster and, in an Infrastructure as a Service (IaaS) environment where you pay directly for filesystem space, it can save you money as well as time.

Process size

The total process size will contribute to how many application instances you can run per machine, or how many megabyte-hours you pay for. Liberty has the smallest memory overhead of almost any Java application server: about 55MB for a sample JSP application using a database. Its low resource use is nicely illustrated by some of the cool things we have done with it: take a look at Liberty running on a Raspberry Pi being used to control a model car.

Startup time

Most cloud environments provide application elasticity: rapid scale-up and scale-down of an application as its workload changes. Behind the scenes this may be achieved simply by starting and stopping application instances; Liberty servers start in just a few seconds so they are ideal for this pattern of use.

Instance creation

Elastic scaling may also involve creating and destroying application instances. Deployment of an instance must be fast to allow the system to respond quickly to an increase in requests. As well as a small runtime, Liberty has a small configuration, typically a single XML file, and can be deployed using one zip file containing runtime, configuration, and application. If you roll your own cloud with scripts, deployment of a self-contained application instance in a single zip file makes things really easy!

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; efficiently delivering new capabilities for one team without disrupting the rest.

Where can I use Liberty in the cloud?

Bluemix

IBM Bluemix has a choice of environments for running Liberty.

Instant Runtimes is a PaaS based on Cloud Foundry which provides the latest Liberty as the runtime for Java applications. All you need is your web application, IBM supplies everything else! You can use a command-line client or lightweight Eclipse tools to deploy your application into the Bluemix PaaS, and it is immediately available over the internet.

IBM Bluemix provides a comprehensive set of services for use by applications, including an HTTP session cache, SQL and non-SQL storage, message queues, social media connectivity, log analysis, and many others. The Liberty runtime is available through the Liberty build pack, which can automatically bind your application to many of the Bluemix services, so they are quick and easy to use. The build pack creates all the server configuration, or you can customize it if you need to.

IBM Containers give you full control of the configuration while providing a completely managed environment for your applications running in Docker containers. Using Docker allows you to have complete portability of your application, runtime, and configuration, in a single package across local and cloud environments for development, test, and production. This is a very efficient way to move applications through different systems and to have the widest choice of deployment target environments.

WebSphere for Bluemix has instances of WebSphere (both Liberty and traditional) available for immediate use, in a range of sizes and both as standalone and managed (collective and cell) topologies. You can “lift and shift” your existing application and automation scripts into this environment and usually see a significant reduction in cost.

SoftLayer

If you want more control over the application’s environment, you can still let IBM manage the hardware (and the operating system if you want) and get started immediately on your project with the IBM Softlayer IaaS offering. With flexible billing, on-demand deployment, and single-screen management, it is a great way to build your Liberty cloud.

Deploy your applications in a Liberty package zip file along with Java, unzip and run! It really is that simple. You can set up a complete deployment in a few hours instead of having to wait for hardware.

Other PaaS environments

Liberty can also be used as a developer environment in other PaaS solutions.

Cloud Foundry The Liberty build pack that’s used in Bluemix can also be used by to deploy applications, with full production support, to a Pivotal Cloud Foundry installation or (for development only) to Pivotal Web Services.

OpenShift Enterprise The same build pack also forms the core of the Liberty cartridge for OpenShift v2, providing another option for production systems, also with development allowed in the public OpenShift Online cloud. OpenShift v3 allows deployment of Docker containers so you don’t need to use the cartridge and Liberty is fully supported in Docker.

5 Comments on "Why Liberty is the best Java runtime for the cloud"

  1. I assume the statement:
    Deploy your applications in a Liberty package zip file along with Java, unzip and run!

    Means that the Java runtime is packaged separately from the jar/zip created using the server package command?

    Thanks

    • AlexMulholland November 02, 2015

      Hi,
      It means that Java does not get included in the zip by the ‘server package’ command; you can add it to the server zip yourself or keep it in a separate package, it’s your choice.
      Regards, Alex.

  2. James Stansell August 20, 2014

    By “Liberty profile can also be used as a developer environment in other PaaS solutions” do you mean:
    A) Production use in these environments is excluded by the licensing; or
    B) Liberty is unsupported for these environments; or
    C) Something else?

    • AlexMulholland August 26, 2014

      Hi James,
      It means A) production use in these environments is excluded by the licensing.
      – Alex.

Join The Discussion

Your email address will not be published. Required fields are marked *