“What’s the best way to move my Java EE apps to cloud?”
You’ve probably asked yourself this question a lot lately. Running these apps in Cloud Foundry and Kubernetes can yield greater agility and reduce costs.
If you’re using IBM WebSphere, your path to run Java EE apps in these modern runtimes is now a little clearer. Pivotal and IBM just launched two new tools to accelerate your cloud journey:
-
The IBM WebSphere Liberty for PCF buildpack is now available on the Pivotal Network. Now Java EE applications can run in Pivotal Application Service (PAS).
-
A Liberty container Image is now available for use on Pivotal Container Service (PKS). This makes it easy to run Liberty apps in containers, using Kubernetes and PKS.
Let’s take a closer look at each of these new offerings and when you might find them useful.
Run Your Java EE Apps on PAS with the New Liberty Buildpack
Now you can run your Java EE apps on Pivotal Application Service (PAS) using the IBM WebSphere Liberty for PCF buildpack. This is the same buildpack that’s been in the community for some time. Only now, the buildpack is “officially” available on Pivotal Network. And WebSphere customers enjoy support from IBM for Java EE middleware. (Want to know more about licensing details for production workloads? Check out the IBM support site.)
Why would you run Java EE apps on PAS? Well, the same reason why hundreds of enterprises choose to run their Spring and .NET apps on PAS: because the platform automates the drudgery of operations while offering comprehensive security. You can get on with building great software.
Push your Java EE apps to PAS and enjoy:
-
Built-in load balancing
-
A horizontally and vertically scalable container runtime
-
Attachable backing services, with the Open Service Broker API
-
A structured deployment process:
$ cf push my-app -b ibm_websphere_liberty_buildpack
-
Four layers of high availability, at the process, app, VM, and availability zone level
-
Autoscaling and automated recovery of failed instances
-
Integrated logging and monitoring
-
Zero downtime updates
-
Platform security and visibility
-
Access to scores of platform add-on services to enhance, secure, and manage applications and APIs via the Pivotal Services Marketplace.
Just perform the magical cf push
operation, and PAS does all of this for you.
Plus, the new Liberty buildpack is pretty nifty on its own merits. Here are the 5 things you’ll love about it:
-
It’s automated. Server configuration is done before you, based on bound services. The Liberty buildpack provides automatic configuration for ClearDB MySQL Database and other container managed services. Note that auto-configuration will vary, based on the nuances of the underlying infrastructure.
-
It’s efficient. The IBM JRE has a reduced footprint, and is optimized for a cloud operating model.
-
It helps you troubleshoot faster. The Liberty buildpack comes with debugging and triage tools to help you understand (and fix) container, application, and server states. (Check out this handy presentation for details.)
-
It’s flexible. Apps can be pushed as stand-alone applications as ear, war, and jar files. Want to “lift-n-shift” WebSphere apps with little changes? Then push your apps to PAS as server configuration or a packaged server zip files. Read more about these options!
-
It runs Java EE apps by default, and with a customizable runtime. You can optimize the Liberty runtime based on the features used by the application. By default, the buildpack includes Java Platform, Enterprise Edition 8.0. You can specify a different set of Liberty features by setting the
JBP_CONFIG_LIBERTY
environment variable. Learn more here.
Three types of apps are a good fit for the Liberty buildpack:
-
Java EE WebSphere WebProfile apps
-
Java EE Full Profile ear packaged apps
-
Apps with WebSphere dependencies
Do you have Liberty apps that don’t change much? If so, the second bit of news will appeal to you.
For Liberty Apps that Are Relatively Static, Highly Coupled and Stateful, Run Them in PKS
You have oodles of apps that need to “just run”. These workloads can benefit from containerization. We often recommend Kubernetes and Pivotal Container Service (PKS) to boost portability, improve patching hygiene, and lower infrastructure costs.
"platform operators will find a familiar and pain-free way to run containerized workloads at scale" — PKS – Perfect for the "everything else" running in an enterprise data center – great write up by @_koleno https://t.co/AT9Abyz8Kt
— Paul Fazzone (@pfazzone) March 15, 2018
The new Liberty container image is mature tech; it’s been on Docker Hub for years. Now this image has been tested on PKS, so you can download and use it with confidence. (Check out the IBM support site for details on licensing and support.)
To Improve Business Outcomes, Follow These Three Strategies
So these new tools make it easier to move your WebSphere apps to modern cloud environments. The question is, what do you do from here? Based on experience, we recommend these three strategies.
1. Modernize Your Most Important Applications. Then, Run Them on an App Platform.
Choose this option when your apps need to change weekly, or even daily. First, re-architect your apps to support cloud-native principles. This often involves moving from a monolith to microservices. We call this application transformation, or AppTx. (Read the whitepaper to learn more about AppTx more.) Once you’ve done that, you can push the apps to Pivotal Application Service (PAS). You will achieve remarkable business outcomes! Just ask our friends at Kroger:
2. Move Cloud-Ready Apps to a Modern Platform.
You’ll have some apps that don’t warrant a re-architecture. Perhaps they run fine the way they are. Or the complexity of transforming the app isn’t worth it. Either way, these apps can benefit from running on a modern platform. You can do some lightweight modernization, then run these apps in PAS as well.
Curious about the difference between cloud-native and cloud-ready? The cloud-native maturity model remains as valuable as ever:
At the @cloudfoundry financial service user group one major CF user shared this great cloud native maturity model: pic.twitter.com/iZieK8PSvK
— James Watters (@wattersjames) November 10, 2015
3. For Apps that Are Relatively Static, and Stateful with bespoke networking requirements Run them in Kubernetes
Containerization gives you a number of advantages, like:
-
An easier hand-off between dev and ops
-
A lower infrastructure cost
-
Faster provisioning
These are useful tactical benefits especially for apps that don’t change that often. The Liberty PKS container image is the best option for Java EE workloads that fall into this category.
Take the Next Step: Try These New Tools in Your PCF Deployment (and Sign-Up for the Webinar to Learn More)
Finding a new home for your Java apps can seem like a daunting task. But now, thanks to Pivotal and IBM, your journey forward just got that much easier. Work with your Pivotal account team to get these tools up and running in your test environments before going to production.
And make sure to sign-up for our upcoming webinar "Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments" in March. Experts from Pivotal and IBM will discuss how to use these new tools to bring more business agility to your enterprise application portfolio!