How we used the IBM Cloud Transformation Advisor’s Data Collector to accelerate our containerization journey.
In our last blog post, we talked about how the IBM CIO organization approached the modernization of its legacy applications to hybrid cloud and microservices, incrementally unlocking the value from this transformation. In this post, we will focus on modernization tools for Enterprise Java applications and how the tools simplified and accelerated our process.
Since the early 2000s, IBM CIO teams have been using Java™ EE technologies, whether its frameworks like JSF, EJBs or Service Oriented Architectures (SOA) or Aspect-oriented programming frameworks like Spring Boot. Most of these applications were developed when cloud, containers and Kubernetes did not exist, but these applications are still supporting business-critical functions.
Our three-fold modernization objectives are as follows:
- Runtime modernization: Moving to a container-optimized WebSphere Liberty or Open Liberty application server from traditional WebSphere.
- Operational modernization: Deploying on OpenShift Container Platform.
- Architectural modernization: Refactoring monoliths into individually deployable and scalable microservices.
When you have hundreds of applications to modernize, it takes a long time to refactor, rewrite and decouple services. So, initially, our focus was runtime and operational modernization to take advantage of all of the native capabilities of our CIO hybrid cloud platform.
The first step for successful modernization is to assess and analyze the application, explore the integrations, identify dependencies and create a pragmatic plan to have minimal disruption for the applications. We quickly realized that we needed an automated tool to discover the dependencies, perform application inventory (Software Bill of Materials) and, most importantly, determine what code/configurations need to be changed for the modernization. That’s where IBM Cloud Transformation Advisor (TA) came to our rescue.
What is IBM Cloud Transformation Advisor?
IBM Cloud Transformation Advisor (TA) is a discovery tool that simplifies the containerization of Java applications from traditional app servers like WebSphere, WebLogic or Tomcat to WebSphere/Open Liberty. You can sign up for a trial of TA and find installation instructions here.
How does IBM Cloud Transformation Advisor work?
Transformation Advisor (TA) uses its Data Collector—a tool that gathers information about middleware deployments in your environment—to provide you with a migration analysis of Java™ EE applications running on IBM WebSphere Application Server, Apache Tomcat or Oracle WebLogic application servers. The tool generates one .zip folder per profile/domain and places analysis results within that directory. Results from the scan are uploaded to Transformation Advisor, where a detailed analysis is provided.
Alternatively, you can easily use the wsadmin tool’s migration commands to generate the reports. See the documentation for more information.
How did IBM CIO scale the Transformation Advisor deployment?
Our approach was as follows:
- Automate the TA Data Collector script using Ansible.
- Run the script using Ansible on all WebSphere servers.
- Store the data collection .zip files in a GIT repo.
- Use Local TA UI instances to analyze the scan results.
We were able to instrument 174 WebSphere instances over one weekend. Transformation Advisor helped our containerization journey at these critical stages:
- Discovery (75% effort reduction compared to DIY approach):
- Inventories applications’ content and structure.
- Provides a migration complexity.
- Identifies potential problems for moving to the cloud.
- Strategic planning (ready backlog for modernization):
- Estimates effort for resolving migration issues.
- Provides assessments for different modernization options.
- Execution (avg. 80-100 developer hours saved per application):
- Produces out-of-the-box code/containerization artifacts to migrate to Open Liberty/WebSphere Liberty.
- Includes capability to check-in the files to your GIT repos.
Key takeaways
- Automation is the key for accelerating a large number of application modernizations. Transformation Advisor provided a simpler and faster way right from assessment to execution.
- Transformation Advisor provided comprehensive issues lists and actionable resolutions, improving developer productivity and confidence.
- Demonstrating early success with a few pilot applications benefits large-scale transformation projects.
- Last, but not least, building a community of developers and sharing insights helps others in your organization to accelerate the journey.
In the next blog post, we will talk about architectural modernization of Java™ EE applications using IBM Mono2Micro—transforming monolithic applications to microservice-based architecture.