Getting started moving applications to the cloud
Your company can realize significant benefits by moving valuable Java™ applications from older architectures to cloud environments. Use this guide to help you understand and begin planning to migrate and modernize your applications.
Understanding application modernization
Application modernization encompasses a number of different strategies for improving and accelerating your application runtime and development practices. Although there are different starting points and endpoints for each application's journey, the general process involves updating and moving monolithic Java applications from traditional WebSphere Application Server hosting environments into more streamlined, Liberty-based containers in the cloud and Kubernetes environments.
- Determine a long-term strategy for your overall modernization effort.
- Assess an inventory of your company's application estate.
- Develop a plan for each of the applications you want to modernize. Understanding the complexity, cost and criticality of each application helps drive your plan to fit your overall strategy.
- Implement your application modernization plans.
- Runtime modernization: the migration of your application source code to a modern, cloud- and container-optimized runtime. Typically this step means migrating from traditional hosting environment, such as WebSphere Application Server, to WebSphere Liberty or Open Liberty.
- Operational modernization: moving your application to a Kubernetes-based container orchestration platform, such as Red Hat OpenShift Container Platform. You can move to an on-premises environment or a public, private, or hybrid cloud environment, with portability to move between these options.
- Architectural modernization: refactoring your application into individually deployable and scalable cloud-native microservices.
Even if you only want to containerize your existing traditional WebSphere Application Server applications for cloud or Kubernetes environments (a process referred to as "lift and shift"), you will reap benefits of operational modernization as you can manage all your applications in a single management plane..
Developing a modernization strategy
As you develop your modernization strategy, your applications fall into various categories. Applications in the legacy category are the applications that are cost-prohibitive to be modernized or do not provide significant business value. Applications in the strategic category are mission critical applications that run your business and that you plan to invest future development resources.
For your strategic applications, Liberty is IBM's composable, cloud-ready server, which provides support for the latest Java SE, Java or Jakarta EE, and security enhancements. Liberty is poised to run your business applications targeted for your modernization journey.
For legacy applications, use traditional WebSphere Application Server v8.5.5 and v9.0.5 to provide stability through the lifespan of those applications. One strategy is to isolate each application in its own traditional WebSphere Application Server base container and deploy it to your cloud environment. This change affords you operational modernization, so you can manage all your applications in a single management plane.
Assessing your applications
- IBM Cloud Transformation Advisor
- Scans WebSphere Application Server traditional profiles to inventory your deployed applications.
- Analyzes applications to help move them from a WebSphere Application Server traditional profile to containerized deployments.
- Provides complexity ratings and development cost estimates.
- Provides options for deploying to different cloud runtimes (Open Liberty, WebSphere Application Server Liberty, and WebSphere Application Server traditional).
- Generates a customized set of deployment artifacts for the selected target runtime.
- Also evaluates applications running on Oracle WebLogic, Apache Tomcat, or JBoss application servers.
- IBM WebSphere Application Server administrative console - Liberty readiness
analysis
- Runs in the WebSphere Admin Console versions 8.5.5.16+ and 9.0.0.11+.
- Analyzes selected enterprise applications and their configuration for moving to Liberty.
- Produces exportable reports that can be shared with teammates
- IBM WebSphere
Migration Toolkit for Application Binaries (binary scanner)
- Command-line tool to analyze applications running in a traditional WebSphere Application Server, Liberty, and other competitive servers.
- Provides inventory, analysis, evaluation, and configuration reports to facilitate moving an application to Liberty or to a later version of traditional WebSphere Application Server.
- IBM Cloud Transformation Advisor produces a full view of your application estate, including more comprehensive application and configuration analyses, provides important planning information, and generates customized assets and recommendations for cloud environments.
- The IBM WebSphere Application Server administrative console provides a quick first look toward making your applications Liberty compatible without installing extra tools. This analysis can be run from the enterprise applications view.
- The binary scanner is a good option when you have a few applications to scan or when you do not have access to the application source code. The scanner can quickly provide insights into your applications and their configuration. It generates the same reports as the reports displayed in the admin console and Transformation Advisor.
- Will you retire or replace the application within 3 to 5 years?
- Can you modify the applications source code?
- Is the application critical to your business?
- Does it use technologies that require it to be upgraded before it can be moved to a new platform?
Creating an application modernization plan
Once you know your modernization strategy, which includes both operational and application changes, and your applications are assessed, it is time to plan what to do with each of the applications.
Start by considering the applications that you identified as being strategic. For these applications, various modernization options are available. For your first attempts, plan to work with small, simple applications in order to build your expertise and confidence, then tackle bigger and more complex applications.
- Runtime modernization.
- You can choose to move applications to Liberty for use of a right-sized, container-ready application server.
- As you move your applications to Liberty, it might be necessary to update your application to run on a later Java or Jakarta EE level. Use the WebSphere Application Migration Toolkit to identify and make the necessary changes. Where possible, the tool includes quick fixes to facilitate the changes.
- Operational modernization.
- You can choose to place the application in a traditional WebSphere Application Server container that can then be managed along side Liberty and other application stacks.
- You might choose to leave the application running in its current traditional WebSphere Application Server environment, but want to containerize it.
- Architectural modernization.
- Either during or after runtime and operation modernization, you might decide to refactor your application into microservices. IBM Mono2Micro offers suggestions for refactoring your application and generates microservice code that you can use as a starting point.
- You could decide to build a new replacement application.
Implementing your application modernization plan
- Runtime modernization.
- Using IBM Cloud Transformation Advisor to provide application modernization guidance.
- How do I get an evaluation version of IBM Cloud Transformation Advisor?
- How do I install IBM Cloud Transformation Advisor on Red Hat OpenShift Container Platform?
- How do I install IBM Cloud Transformation Advisor in an air gap environment?
- Can I install IBM Cloud Transformation Advisor in a non-OCP environment?
- Migrating your applications to new versions of WebSphere Application Server or
Liberty
- What are the system requirements for WebSphere Application Server and WebSphere Application Server Liberty?
- How do I get an evaluation version of WebSphere Application Server or WebSphere Application Server Liberty?
During migrations, use a cross-development-team communications mechanism so that different teams can learn from each other as new coding patterns and new techniques emerge.
- Using IBM Cloud Transformation Advisor to provide application modernization guidance.
- Operational modernization.
- Determine which Kubernetes-based container orchestration platform you want to use. Red Hat OpenShift Container Platform is available for on-premises deployments on Intel, Power, and z/Linux and zCX operating systems; for private clouds; and for public clouds (Amazon EKS on AWS, Microsoft Azure, and IBM Cloud). For more information about the version support for Red Hat OpenShift Container Platform, see the Red Hat OpenShift Container Platform Life Cycle Policy.
- Download and use Liberty container images. For more information, see Running WebSphere Liberty in a container.
- Build your containerized application locally on your desktop.
You will need the following items:
- Your application source code.
- Eclipse Integrated Development Environment (IDE) (https://www.eclipse.org/downloads/).
- WebSphere Liberty and Java SE 8 (https://www.ibm.com/support/pages/websphere-liberty-developers).
- The WebSphere Liberty Plugin for Eclipse IDE installed with WAMT - WebSphere Application Server Migration Toolkit (https://www.ibm.com/support/pages/websphere-liberty-developers).
- Java SDK and Runtime 17 (https://developer.ibm.com/languages/java/semeru-runtimes/downloads/)
- Podman (https://podman.io).
- Access to Red Hat OpenShift (installed OpenShift CLI) and to the public or private registry where to push the containerized application image.
WebSphere Application Server Migration Toolkit (WAMT) Eclipse plug-in is invaluable to developers making code changes. The changes identified by WAMT match the issues identified in the assessments generated by IBM Cloud Transformation Advisor and the binary scanner. If your developers do not use Eclipse, they can use the assessment reports to make code changes.
- The WebSphere Liberty operator is available to help you deploy and manage your containerized application in a Kubernetes-based environment. For more information, see Running a WebSphere Liberty operator.
- Architectural modernization.
Use IBM Mono2Micro to help you make decisions about parceling your application into microservices that can be managed separately.
Focus on updating your common code shared across multiple applications, either as shared libraries or packaged within the EAR files. This focus can benefit multiple applications. By moving multiple applications to the latest version of common JAR files, you can eliminate redundancy within your applications.
Links to all resources and downloads
Links to all products, software, tools, and instructional resources mentioned in the previous sections are collected here.
Links to products and components of WebSphere Hybrid Edition:
- IBM Cloud Transformation Advisor
- Evaluation version: https://www.ibm.com/support/pages/ibm-cloud-transformation-advisor-downloads
- WebSphere Application Server Migration Toolkit
- Migration Toolkit for Application Binaries download (binary scanner)
- WebSphere Application Server Migration Toolkit download (source code scanner)
- IBM Mono2Micro
- WebSphere Application Server Liberty
- WebSphere Application Server traditional
Links to other software and tools:
- Eclipse
Integrated Development Environment (IDE)
- WebSphere Liberty Plugin for Eclipse IDE installed with WAMT - WebSphere Application Server Migration Toolkit (see https://www.ibm.com/support/pages/websphere-liberty-developers).
- Java SDK and Runtime 17 (https://developer.ibm.com/languages/java/semeru-runtimes/downloads/)
- Podman
- Red Hat OpenShift (see https://developers.redhat.com/products/openshift/download)
- Red Hat OpenShift CLI (see https://docs.openshift.com/container-platform/4.14/cli_reference/openshift_cli/getting-started-cli.html)
- Red Hat OpenShift Container Platform
See also Red Hat OpenShift Container Platform Life Cycle Policy
- WebSphere Application Server Migration Toolkit (WAMT) application binaries
- WebSphere Application Server Migration Toolkit (WAMT) Eclipse plug-in (see https://www.ibm.com/support/pages/websphere-application-server-migration-toolkit)
- WebSphere Liberty and Java SE 8 (https://www.ibm.com/support/pages/websphere-liberty-developers)
- WebSphere Liberty container images (see Running WebSphere Liberty in a container)
- WebSphere Liberty operator (see Running a WebSphere Liberty operator)
- WebSphere Application Server traditional (see https://www.ibm.com/docs/en/was-nd/9.0.5?topic=90-running-cloud)
Links to instructional resources: