Overview
Let’s admit it. Applications modernization is not easy.
When we are working on modernizing the existing applications, it can be very challenging not only you need to consider the modernization options but also the related SDLC (software development life cycle) processes, the underlying platforms as well as the teams adoptions.
Application modernization will become easier if there are tools and best practices that can assist us during the discovery & assessments process and also during the modernization execution stage. In this article, I would like to bring you through to learn how Red Hat is using open source tools to help customers in transforming digital business through application modernization.
I had covered the application modernization options in my previous article – This is How You Can Modernize Your Applications. To refresh our memory, I had posted again the following diagram to illustrates the available options.
Note: Some people tend to refer application modernization as application migration. I would prefer to look at application migration as subset of application modernization. Application modernization tends to have bigger scope covering application migration itself, the SDLC processes, the application platforms, and etc as per what I had highlighted in my previous post.
Application Modernisation Phases
Let’s have a quick look on the modernization phases or stages before we dive into the application modernization tools.
You may have a different phases, or maybe more well-defined phases in your application modernization initiative such as you probably will have design phase in addition to your discover phase. Whichever the situation, they should not be deviated too much from the phases shown in following diagram, simple and sufficient, to allow me to relates them to the Red Hat tools that I am going to cover in the next section.
Bear in mind, the modernization phases will be a continuous loop until you have reached a stage where your modernization plan is proven or fullfill your organization needs. Thus it is important to identify all the modernization use cases at the initial stage. You should choose a sizable and an impactfull use case(s) as your pilot project so that the pilot outcomes can help you to tweak and enhance your modernization plan as earlier as possible, to eliminate avoidable mistake, before more effort are throw in the execution.
Now we have a good idea how the application modernization phases look like, it is time to look at how Red Hat tools fit into these phase and help.
Application Modernization Tools
The application modernization tools provided by Red Hat is the result of many years experience of helping their customers’ digital transformation journey. They basically can be summarized as per the illustration.
Discover Phase
The hardest part of application modernisation is where and how to start. This challenge made easier with the Red Hat tools such as Pathfinder Assessment, Migration Toolkit for Applications and Migration Analytics. These tools are used during discovery phase to help to discover, analyse and obtain recommendations across application, container and platform.
PATHFINDER
Pathfinder is available as open source application that can be deployed onto OpenShift. It provides a collaboration platform where various members from the team are able to capture and review the applications details with tailored questionnaires based on Red Hat many years of experience helping customers to modernize their applications.
The outcome of the Pathfinder assessment provides insights on which applications can be containerised, the effort involved, and any impediments to the containerisation process. The insights also help in deciding which modernization options are feasible and the order of modernization execution.
Bear in mind although Pathfinder is a freely available open source assessment tool however Red Hat consultant is typically engaged to ensure a higher application modernization success rate. The engagement helps organisations determine the application modernization plan and use cases based on factors such as business criticality, technical and execution risk, and estimation of the effort required.
MIGRATION TOOLKIT FOR APPLICATIONS
The Migration Toolkit for Applications (MTA) is an assembly of tools that support large-scale Java application modernization and migration projects across a broad range of transformations and use cases.
With MTA, you can import your application binary or archives and code analysis is performed automatically to provide assessment insights such as application portfolio, application dependencies, migration challenges and migration effort estimation. There are many more features that are not covered in this article, you may refers to Red Hat Application Migration Toolkit.
MTA is used when you need to use the assessment insights to migrate your applications to Red Hat application platform. This could be one of the modernization option such as REHOST, REPLATFORM or REFACTOR, or all of them.
Watch the following YouTube video for the MTA in action.
MIGRATION ANALYTICS
Migration Analytics is a solution provided by Red Hat on cloud.redhat.com. In order to perform the migration analysis, you will need to extract the metadata from your source systems and import them into the Migration Analytics.
Migration Analytics helps to optimise your virtual environment by uploading a Red Hat CloudForms generated inventory file (source system metadata) and then letting the Red Hat Migration Analytics create reports showing how you can save money and optimise workloads whether by migrating virtual machines or migrating applications to Red Hat Enterprise Linux.
Updated: Migration Analytics was retired in May 2021. Migration Analytics was leveraging CloudForms for data extraction. With Cloudforms being end of life, several alternatives were evaluated as replacements, but none was found suitable. Therefore, Migration Analytics was retired.
Plan Phase
You can use the assessment reports created during the discover phase to help you identify the modernisation use cases, to evaluate the modernisation / migration risks and to tailor your modernization plan.
This is also a great time to review and identify any gaps for your existing SDLC processes, team organization, environments, processes and etc. These considerations is crucial as part of your identified use cases and planning in order to ensure a successful modernization initiative.
Execute Phase
During the execute phase the application team and operation teams may still need to do most of the works however some of these works can be simplified with the aid of the tools available such as Cluster Application Migration Tool, Covert2RHEL and Infrastructure Migration Solution.
CLUSTER APPLICATION MIGRATION TOOL
In the case if you already have existing container applications running on OpenShift Container Platform (OCP) 3. The Cluster Application Migration Tool (CAM) helps to migrate stateful and stateless applications from the source cluster on OCP 3 to a destination cluster running the latest OpenShift. It also can migrate applications between OCP 4 clusters.
It is installed on your destination OCP cluster via an Operator and provides rich user interface with simplified and customizable workflows to help you to decide which applications to start with, which migration approach best fits each application and then help you to execute the migration.
Take a look at the demo below.
CONVERT2RHEL
Convert2RHEL is a tool that can be used for the conversion of other-than-RHEL systems to RHEL (Red Hat Enterprise Linux). These other-than-RHEL systems need to be RHEL-like systems such as CentOS or Oracle Linux.
Convert2RHEL is made available as a self-service option through the EPEL repository if you wish to to try to convert your systems to RHEL. However it is recommended to engage Red Hat Consulting Services if you wish to have enterprise level support for your migration initiative.
Take a look at the detail from the following video.
INFRASTRUCTURE MIGRATION SOLUTION
From the software perspective, this is basically a feature provided by the Red Hat CloudForms. The software tool provides mass migration capabilities and standardized deployment patterns from VMWare to Red Hat Virtualization, Red Hat OpenStack Platform and Red Hat Hyperconverged Infrastructure.
The Red Hat Infrastructure Migration Solution is introduced to help organizations to ensure a smooth ride and better success rate in migrating VMWare to Red Hat platforms.
You can take a look at how this works in the following video.
Summary
The journey of the application migration solution provided by Red Hat is not end here. As of this writing the tools are being continuously upgraded and enhanced to cover more application modernization scope.
It is not possible to automate all the application modernization and application migration works. However with these open source tools available together with the many years experience Red Hat brought into this domain, it is certainly making the application modernization more achievable and easier compared to the past, with higher success rate.