Deploying WAS Workloads to ICP Using Transformation Advisor

Introduction to IBM Web Application Server (WAS)

Application Server provides the necessary infrastructure to host enterprise application. It handles application operation between user request and backend business application like database, messaging, etc. Application Server usually sits between Web Server and Database or another backend application.

Overview to IBM Cloud Private (ICP)

IBM Cloud Private is a cloud platform for developing and running workloads locally. It is an environment that is integrated and empowers you to design, develop, deploy, and manage on-premises, containerized cloud applications behind your firewall. It embraces the container orchestrator Kubernetes, a private image repository, a management console and monitoring frameworks.

Introduction to IBM Transformation Adviser (TA)

IBM Cloud Transformation Advisor helps you plan, prioritize, and package your on-premises workloads for modernization on IBM Cloud and ICP. TA gathers:

  • The preferences regarding your current on-premises environment and preferred cloud environments. Analyze your current middleware deployments and upload the results to the IBM Cloud Transformation Advisor UI with a downloaded data collector
  • Offer recommendations for cloud migration and modernization as well as an estimated effort to migrate to different platforms
  • Create necessary deployment artifacts to accelerate your migration into IBM Cloud and ICP
  • 50% to 70% migration works already done
Objective:

Migrating sample plants application deployed on IBM WAS v8.5.5 (hosted on VM) to ICP v3.1.0.

Pre-Requisites:
  1. ICP v3.1.0 already installed along with IBM TA middleware configured
  2. Plants application deployed on IBM WAS v8.5.5
Steps:
  1. Create Project and prepare TA script:
    1. a. Open IBM TA User Interface (UI) and create a new project
    1. b. As soon project is created UI will redirect you to script download page. If you explore the page further you will find all steps you need to perform to generate & gather results
    2. c. Download script file which will be in .zip format.
  1. Run TA script on the server and gather results:
    1. a. Move the script file into the server where IBM WAS is running and unzip it.
    2. b. Since we are moving the workloads to ICP’s middleware ‘Websphere Liberty Server’. Run following command to generate results:
  2. ./bin/transformationadvisor -w <WAS-server-path> -p <profile> <admin_username> <admin_password>
    1. c. As soon script completes running it will generate a .zip file with all results in it.
    2. d. Open the project in UI and upload the .zip file into the TA UI to view all results in detail along with energy/efforts required. Even if changes in code is needed, TA will provide all details to help speeding up the process.
  1. Update missing files and download bundle:
    1. a. Click on Migrate application.
    2. b. On this screen you will see all the necessary files needed to migrate workloads to ICP. (Some files are missing which need to be uploaded by us).
    3. c. Upload plants application’s .war file.
    4. d. Upload database driver in our case its derby.jar.
    5. e. Download the bundle it and move it to backend of server where ICP is installed as we will be making some changes as per our requirements.
  1. Update files as per requirements:
    1. a. Unzip the bundle. We will be updating two files DockerFile & server.xml and will be using deployment.yaml file for deploying resource in ICP
    2. b. We are imported database local into the docker container hence updating DockerFile
    3. c. Also update database credentials and location in server.xml file.
  1. Build docker image and push it to ICP local registry:
    1. a. Build docker image with update DockerFile
    2. b. Once image is ready tag it with the image name you have in deployment.yaml file in our case its ‘mycluster.icp:8500/default/pbwear:latest’.
    3. c. Push the image to ICP’s local registry.
  1. Deploy using deployment.yaml file
    1. a. Open ICP’s UI and click on create resource button on right top tabs.
    2. b. Copy and paste content of deployment.yaml file into the create resource tab and click create.
    3. c. Once resource is deployed your app will be up and running on Websphere Liberty middleware working on ICP.
    4. d. Find the app in deployment window and click on launch. It will land you to default Websphere Liberty page. Add your application’s path in our case its
‘https ://< ICP-Ip> :< liberty-port>/PlantsByWebSphere’

Royal Cyber Understanding ICP

Organizations are looking to containerize their workloads for various reasons. But with all their benefits, enterprises consider containers to be in the edge, and are cautiously accepting the reality that the world is adopting hybrid architectures composed of containers and VMs that work side-by-side in multi-cloud platforms. Royal Cyber has been able to cater to many organizations who crave the agility and speed with ICP. Royal Cyber can bring these capabilities to your infrastructure. For more information you can write to us at info@royalcyber.com or visit www.royalcyber.com.