Journey to the with IBM Cloud Pak for Applications

Constant innovation IBM Cloud Pak™ for Applications is a set of tools and technologies that enables an organization to modernize its application portfolio on top of ® OpenShift®. IBM Cloud Pak for Applications helps organizations quickly build and deliver new solutions by enabling users to containerize their workloads, develop cloud native applications using microservices and leverage continuous integration / continuous delivery (CI/CD) capabilities.

The application modernization journey Many organizations may have a portfolio of existing Java™ applications created over the last 20 years. Depending on the size of an organization’s application portfolio, the application modernization journey can be a multi-year process. Currently, only 20% of workloads are in the cloud1 due to the effort and complexity of the modernization journey.

Cloud Pak for Applications can help these organizations maintain those applications in traditional WebSphere®, move applications to WebSphere in a container, move to WebSphere Liberty in a container, refactor existing applications, and build new cloud native applications in a variety of runtime environments, such as NodeJS.

Transformation Advisor Included in the Cloud Pak for Applications is the Transformation Advisor that helps organizations along their modernization journey. Transformation Advisor analyzes existing J2EE applications from WebSphere and assesses the effort to migrate an application to WebSphere Liberty. The output report from the Transformation Advisor allows an organization to figure out which applications can move easily, and which ones are better left on WebSphere. Based on the level of difficulty, users can decide when and which WebSphere applications can move to WebSphere in a container. Throughout the modernization journey Cloud Pak for Applications licensing allows organizations to continue to run their traditional WebSphere without incremental charges while transitioning to Liberty containers.

For applications that are being moved to containers, organizations may choose to refactor into micro-services. Organizations developing new applications can design their applications to be cloud native using the latest tools and modern runtimes from Cloud Pak for Applications. Figure 1, The Application Modernization Journey, shows the Transformation Advisor’s role in application development and management that Cloud Pak for Applications provides. The journey starts with the Transformation Advisor to help identify which applications are best containerized through 1) replatforming, 2) repackaging, or 3) refactoring. Then Cloud Pak for

1 https://www.ibm.com/blogs/cloud-computing/2019/03/05/20-percent-cloud-transformation/

IBM IT Economics Consulting & Research © 2020 IBM Corporation

Application provides tools to build, deploy, and run the applications in a containerized cloud environment as traditional, cloud ready or cloud native applications.

Replatforming versus repackaging Replatforming entails taking an application, such as a traditional WebSphere application, and putting it in a container running the same environment. Putting the application in a WebSphere container does require some Python code to set up the WebSphere application configuration during container build time, but it is a simple way to leverage the security, reliability, and scalability benefits of a modern container platform, without needing to create a WebSphere Liberty profile. When an application is replatformed into a WebSphere container, the benefits of cloud operations (ease of provisioning, availability, and scalability) are immediate.

Repackaging involves taking an application, such as a traditional WebSphere application, and rebuilding it to run in a WebSphere Liberty container. Repackaging requires even less effort than replatforming an application, and it offers many benefits for small agile development, microservices, and multi-cloud Figure 1 The Application Modernization Journey illustrates three migration approaches, replatform, repackage and refactor to transform applications for a containerized cloud environments. WebSphere Liberty provides a light weight, composable application server designed to run in a container environment. Because Liberty servers only install and run the features requested and/or needed by the application, less compute and storage resources are consumed. WebSphere Liberty is ideal for a container environment because its configuration can be changed with environment variables.

Refactoring for cloud native development Refactoring is the process of taking a monolithic application and breaking it down into microservices so it can be rebuilt as a cloud native application. Cloud native development builds and designs a new application based on a microservices architecture. A microservice provides one business capability. Each microservice can be managed separately by a dedicated team member. Microservices can be scaled individually and, when running in Cloud Pak for Applications, can be auto-scaled based on demand. This allows for more agile development and continuous delivery. New services can be developed by leveraging the organization’s set of micro services. Cloud Pak for Applications supports cloud native applications by providing many runtimes for popular programming languages such as Python and Nodejs.

IBM IT Economics Consulting & Research © 2020 IBM Corporation

Getting started Applications using WebSphere 8 and above can leverage its migration report that details what alternative platforms a WebSphere application may be migrated to, for example, Liberty for Java on IBM Cloud™. Both the Cloud Pak for Applications Transformation Advisor and the WebSphere migration report estimate migration time and complexity. This enables an organization to identify easy-to-move applications as first migration candidates for replatforming or repackaging versus more complex applications that may require a more involved modernization effort.

Once the replatforming and repackaging candidates are identified, the process is simple through the use of build and configuration files provided by the Transformation Advisor in Cloud Pak for Applications. Transformation Advisor generates WebSphere Liberty configurations based on the application’s specific dependencies such as JDBC drivers and JNDI data sources. It also generates the necessary artifacts for the application to be deployed using containers. Transformation Advisor uses the Cloud Pak for Applications runtimes, such as WebSphere Liberty with Eclipse MicroProfile support, and the associated container images it provides.

Steps to replatform Here are the key steps to replatform a WebSphere application in a container. 1. Download code to create a WebSphere container image 2. Put Installation Manager on a Web server 3. Build Base WebSphere Docker images from download2. 4. Edit Sample Dockerfile to set a WebSphere version and specify app 5. Edit WebSphere config Python code to add App and JNDI database resources 6. Run Docker build to create image 7. Create Deployment YAML file 8. Deploy on Cloud Pak for Apps

Replatforming savings To determine how difficult or simple replatforming is, we compared the time it takes to create a business as usual, tradional WebSphere environment in a versus the time it takes to put a WebSphere application in a container. IBM testing found that replatforming a WebSphere Application Server in a container using IBM Cloud Pak for

2 Keep in mind that containers are immutable so the WebSphere configuration must be created at build time. Also note that any runtime changes will be lost when the container restarts.

IBM IT Economics Consulting & Research © 2020 IBM Corporation

Applications takes 36% less time than installing WebSphere Application Server in a compared x86 virtual machine.3

Steps to repackage Here are the key steps to repackage a WebSphere application in a container. 1. Download sample code to create a WebSphere Liberty container image 2. Edit Liberty config file (server.xml) from Transformation Advisor 3. Edit Dockerfile from Transformation Advisor 4. Run Docker build to create image 5. Create Deployment YAML file 6. Deploy on Cloud Pak for Applications

Repackaging savings We also measured the time it takes to build a traditional WebSphere application in a virtual machine versus repackaging the application into a WebSphere Liberty container. IBM testing found that repackaging WebSphere Application Server to WebSphere Liberty in a container using IBM Cloud Pak for Applications takes 66% less time than installing WebSphere Application Server in a compared x86 virtual machine.4

CI/CD efficiencies after application deployment Once applications are deployed to Cloud Pak for Applications, the benefits of cloud operations and CI/CD can start to reduce IT operations costs. Automated testing and delivery of incremental changes shorten the time and the cost of testing. A single developer can decrease WebSphere Application Server unit code validation time by 33% when using WebSphere Liberty containers in IBM Cloud Pak for Applications compared to redeploying a WebSphere Application Server Application in a compared x86 virtual machine.5

Microservices also contribute to less test time and cost. Since a microservice component has fewer capabilities it becomes easier to test in isolation, and with a smaller REST interface, there is less to test. This allows features to be rolled out more easily when each service is isolated rather than potentially changing the entire monolithic application.

3 Installation times measured time to create a new WebSphere Application Server image in a virtual machine (157 minutes) versus creating a new WebSphere Application Server image in a Docker container (101 minutes) in an IBM lab environment. Testing used a virtual machine in a x86 hypervisor. Measurements include download time for installation files at 1GB per minute. Results will vary according to WebSphere Application Server administration expertise and network bandwidth. 4 Installation times measured time to create a new WebSphere Application Server image in a virtual machine (157 minutes) versus re-platforming WebSphere Application Server to WebSphere Liberty in a Docker container (53 minutes) in an IBM lab environment. Testing used a virtual machine in a x86 hypervisor. Measurements include download time of installation files at 1GB per minute. Results will vary according to WebSphere Application Server administration expertise and network bandwidth. 5 Installation times measured time to unit test a code change in a WebSphere Liberty Docker container (average 60 seconds) versus redeploying a WebSphere Application Server using WebSphere Fast Paths in a virtual machine (90 seconds) in an IBM lab environment. Testing used a virtual machine in a x86 hypervisor. Results will vary.

IBM IT Economics Consulting & Research © 2020 IBM Corporation

Impact of Cloud Pak for Applications for an IT organization To examine the financial impact of application modernization for an IT organization, a sampling of applications for a financial institution in North America were examined in a return on investment model using Cloud Pak for Applications. The model examined financial investment (software costs and development resources) for application replatforming, repacking and refactoring costs versus anticipated benefits for the organization. In a five year model, replatforming, repackaging and refactoring 22 WebSphere Application Server applications to containers using IBM Cloud Pak for Applications provided a 51% adjusted return on investment (ROI) versus running the compared applications in a virtualized x86 environment for the same five years.6

Investment In year 1 and year 2 the model estimated development efforts to replatform 20 applications to run with IBM WebSphere Application Server in IBM Cloud Pak containers. In years 2 and 3 it estimated the development effort to repackage one application to run in a WebSphere Liberty IBM Cloud Pak container. In years 2, 3 and 4 it included development effort to refactor one application to become a native cloud application. Both inhouse developer costs as well as outsourced services to set up the Cloud Pak for Application infrastructures were calculated, resulting in a total of 105,674 hours over four years. Software cost considerations, Cloud Pak for Application perpetual licenses minus ® savings since Red Hat Enterprise Linux (RHEL) is included in Cloud Pak for Applications, were also considered as part of the investment for application transformation.

Benefits From a benefits perspective the model examined Cloud Pak for Application productivity gains in the following categories as an estimated savings percentage of operational expense for the institution’s 22 applications.

6 An IBM IT Economics five year return on investment model was used to examine 22 client IBM WebSphere Application Server ND applications running in virtual machines on x86 servers versus replatforming, repackaging and refactoring the same applications to run in containers using IBM Cloud Pak for Applications. The model estimated development effort to replatform 20 applications in year 1 and year 2 to run with IBM WebSphere Application Server in IBM Cloud Pak containers, to repackage one application in year 2 and year 3 to run in a WebSphere Liberty IBM Cloud Pak container, and to refactor one application to become a native cloud application during years 2, 3 and 4. Total replatforming effort was estimated to require 74,520 hours over two years, 8,000 hours for repackaging efforts and 13,500 hours for refactoring efforts, using 60 FTE inhouse developers. IBM Services were included in the model to provide 9,654 hours to set up the Cloud Pak for Application infrastructures in year 1 and 2. Cost of IBM Cloud Pak for Application perpetual licenses are based on U.S. prices as of March 2020 with a 20% discount. ROI uses a 12% discount rate. Efficiency savings for application development, system configuration savings, and system management savings are based on efforts from IBM developer testing, client data from IBM IT Economics assessments and findings from Forrester report, "The Total Economic Impact™ Of IBM WebSphere Liberty (https://www.ibm.com/downloads/cas/NVY3KY4E). For additional information on the cost model contact the IBM IT Economics team, [email protected].

IBM IT Economics Consulting & Research © 2020 IBM Corporation

Annual Application Development Cost Savings: 20% to 30% improvement7 in developer productivity through access to automation tools, continuous delivery and integration (CI/CD), and unified backlog management.

Annual System Configuration Cost Savings: 35% increase in efficiency7 through the use of self-service development environments. Cloud Pak for Applications eliminates traditional pre- DevOps hierarchy IT environments that require developers to wait on others to build their development environment for them versus starting development on their own when convenient. With Cloud Pak for Applications, developers can also deploy, test, and verify in production-like environments without customer impact.

Annual Systems Management Cost Savings: 25% improvement in administrator productivity7 by providing infrastructure as code. Cloud Pak for Applications provides consistent configuration management controlled deployments using immutable infrastructure alleviating configuration drift between development and production environments. Configuration management in Cloud Pak for Applications enables administrators to improve their overall productivity being reducing errors and misconfigurations.

Return on investment findings In year 1 investment costs exceeded benefits but by year 2, efficiency benefits began to exceed investment. At 16 months cash flow became positive. By year 5 the institution could benefit from a 51% adjusted return in investment (adjusted ROI was calculated using a discount rate of 12%). The envisioned increase in productivity allows the financial institution to develop new products and service offerings for their customers with lower administrator and developer costs, and with greater efficiencies.

7 Efficiency savings for application development, system configuration savings, and system management savings are based on efforts from IBM developer testing, client data from IBM IT Economics assessments and findings from Forrester report, "The Total Economic Impact™ Of IBM WebSphere Liberty https://www.ibm.com/downloads/cas/NVY3KY4E.

IBM IT Economics Consulting & Research © 2020 IBM Corporation

Move forward with the journey The journey to the cloud is not a flip of a switch but a process. Cloud Pak for Applications simplifies the journey by providing migration tools and infrastructure. It also provides a single license that covers WebSphere based applications for the transition. As businesses make the journey to the cloud, Cloud Pak for Applications provides migration assistance with the Transformation Advisor so organizations can gauge the level of effort prior to implementation. When developers redesign applications and build cloud native applications, Cloud Pak for Applications provides modern runtime environments in containers on a robust industry container platform, Red Hat OpenShift.

If your organization is seeking a modern cloud architecture in order to quickly deliver applications to market and minimize IT operations costs, contact the IBM IT Economics team for a no-charge Cloud Pak business value assessment.

IBM IT Economics Consulting & Research © 2020 IBM Corporation

Author John Diamond is a Senior Software Engineer with the IBM IT Economics Research Team. John has more than 25 years of experience developing IBM middleware and virtualization software and has worked extensively with clients to deliver specific business solutions.

Contributors Michael Dudding IBM IT Economics Consultant Email: [email protected]

Susan Proietti Conti IBM Executive Project Manager for IT Economics Email: [email protected]

IBM IT Economics Consulting & Research © 2020 IBM Corporation

(C)Copyright IBM Corporation 2020 IBM Corporation New Orchard Road Armonk, NY 10504 U.S.A. 09/20

IBM, ibm.com, IBM logo, IBM Cloud, IBM Cloud Paks, and WebSphere are trademarks or registered trademarks of the International Business Machines Corporation. A current list of IBM trademarks is available on the Web at https://www.ibm.com/legal/us/en/copytrade.shtml, and select third party trademarks that might be referenced in this document is available at https://www.ibm.com/legal/us/en/copytrade.shtml#section_4. Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other countries, or both and is used under license therefrom. InfiniBand and InfiniBand Trade Association are registered trademarks of the InfiniBand Trade Association. Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark on a worldwide basis. , Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. OpenStack is a trademark of OpenStack LLC. The OpenStack trademark policy is available on the OpenStack website. Red Hat®, JBoss®, OpenShift®, Fedora®, Hibernate®, Ansible®, CloudForms®, RHCA®, RHCE®, RHCSA®, Ceph®, and Gluster® are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries. RStudio®, the RStudio logo and Shiny® are registered trademarks of RStudio, Inc. TEALEAF is a registered trademark of Tealeaf, an IBM Company. UNIX is a registered trademark of The Open Group in the United States and other countries. Worklight is a trademark or registered trademark of Worklight, an IBM Company. Zowe™, the Zowe™ logo and the Open Mainframe Project™ are trademarks of The Linux Foundation. All statements regarding IBM’s future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. The information contained in this documentation is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this documentation, it is provided “as is” without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this documentation or any other documentation. Nothing contained in this documentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way.

46035446-USEN-00

IBM IT Economics Consulting & Research © 2020 IBM Corporation