Introduction to the Migration Toolkit for Applications

Migration Toolkit for Applications 6.0

Learn how to use the Migration Toolkit for Applications to migrate and manage applications when migrating them to OpenShift Container Platform.

Red Hat Customer Content Services

Abstract

This guide provides information to help you get started with the Migration Toolkit for Applications so you can accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. This solution provides insight throughout the adoption process, at both the portfolio and application levels: inventory, assess, analyze, and manage applications for faster migration to OpenShift via the user interface..

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

Chapter 1. Introduction

1.1. About the Introduction to the Migration Toolkit for Applications

This guide is for architects, engineers, consultants, and others who want to use the Migration Toolkit for Applications (MTA) to accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. It provides an overview of the Migration Toolkit for Applications and how to get started using the tools to plan and run your migration.

Note

The migration solution for Java applications that was provided in the Migration Toolkit for Applications 5.x releases (migration and modernization of Java applications) is now available with Migration Toolkit for Runtimes 1.0.

Chapter 2. About the Migration Toolkit for Applications

What is the Migration Toolkit for Applications?

Migration Toolkit for Applications (MTA) accelerates large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. This solution provides insight throughout the adoption process, at both the portfolio and application levels: inventory, assess, analyze, and manage applications for faster migration to OpenShift via the user interface.

MTA uses an extensive questionaire as the the basis for assessing your applications, enabling you to estimate the difficulty, time, and other resources needed to prepare an application for containerization. You can use the results of an assessment as the basis for discussions between stakeholders to determine which applications are good candidates for containerization, which require significant work first, and which are not suitable for containerization.

MTA analyzes applications by applying one or more rulesets to each application considered to determine which specific lines of that application must be modified before it can be modernized.

MTA examines application artifacts, including project source directories and application archives, and then produces an HTML report highlighting areas needing changes. MTA supports many migration paths including the following:

  • Upgrading to the latest release of Red Hat JBoss Enterprise Application Platform
  • Migrating from Oracle WebLogic or IBM WebSphere Application Server to Red Hat JBoss Enterprise Application Platform
  • Containerizing applications and making them cloud-ready
  • Migrating from Java Spring Boot to Quarkus
  • Upgrading from OpenJDK 8 to OpenJDK 11
  • Upgrading from OpenJDK 11 to OpenJDK 17
  • Migrating EAP Java applicatons to Azure App Service
  • Migrating Spring Boot Java applications to Azure App Service

For more information about use cases and migration paths, see the MTA for developers web page.

How does the Migration Toolkit for Applications simplify migration?

The Migration Toolkit for Applications looks for common resources and known trouble spots when migrating applications. It provides a high-level view of the technologies used by the application.

MTA generates a detailed report evaluating a migration or modernization path. This report can help you to estimate the effort required for large-scale projects and to reduce the work involved.

2.1. MTA Features

Migration Toolkit for Applications (MTA) is an integrated assembly of tools that lets you better assess, prioritize and modernize your applications across hybrid cloud environments on Red Hat OpenShift, the industry’s leading Kubernetes platform.

Now designed for easier upgrades with more migration paths, MTA includes:

  • New application inventory and assessment modules that assist organizations in managing, classifying and tagging their applications while assessing application suitability for deployment in containers, including flagging potential risks for migration strategies.
  • Full integration with source code and binary repositories to automate the retrieval of applications for analysis along with proxy integration including HTTP and HTTPS proxy configuration managed in the user interface.
  • Improved analysis capabilities with new analysis modes, including source and dependency modes that parse repositories to gather dependencies and add them to the overall scope of the analysis. There is also a simplified user experience to configure the analysis scope, including open source libraries.
  • Enhanced Role-Bassed Access Control (RBAC) powered by Red Hat Single Sign-On, defining three new differentiated personas with different permissions to suit the needs of each user—administrator, architect and migrator—including credentials management for multiple credential types.
  • Administrator perspective to provide tool-wide configuration management for administrators.

2.2. About MTA rules

The Migration Toolkit for Applications (MTA) contains rule-based migration tools that analyze the APIs, technologies, and architectures used by the applications you plan to migrate. In fact, the MTA analysis process is implemented using MTA rules. MTA uses rules internally to extract files from archives, decompile files, scan and classify file types, analyze XML and other file content, analyze the application code, and build the reports.

MTA builds a data model based on the rule execution results and stores component data and relationships in a graph database, which can then be queried and updated as needed by the migration rules and for reporting purposes.

MTA rules use the following rule pattern:

when(condition)
  perform(action)
otherwise(action)

MTA provides a comprehensive set of standard migration rules out-of-the-box. Because applications may contain custom libraries or components, MTA allows you to write your own rules to identify use of components or software that may not be covered by the existing ruleset.

If you plan to write your own custom rules, see the Rules Development Guide for detailed instructions.

Chapter 3. Supported configurations

3.1. Supported migration paths

The Migration Toolkit for Applications (MTA) supports migrations from third-party enterprise application servers, such as Oracle WebLogic Server, to JBoss Enterprise Application Platform (JBoss EAP) and upgrades to the latest release of JBoss EAP.

MTA provides a comprehensive set of rules to assess the suitability of your applications for containerization and deployment on Red Hat OpenShift Container Platform (RHOCP). You can run an MTA analysis to assess your applications' suitability for migration to multiple target platforms.

The following table describes the most common supported migration paths.

Table 3.1. Supported migration paths: Source platform ⇒ target

Source platform ⇒JBoss EAP 6JBoss EAP 7RHOCPOpenJDK 8, 11, & 17Apache Camel 3Spring Boot on Red Hat RuntimesQuarkusAzure

Oracle WebLogic Server

-

-

-

-

IBM WebSphere Application Server

-

-

-

-

JBoss EAP 4

[a]

-

-

-

-

JBoss EAP 5

-

-

-

-

JBoss EAP 6

N/A

-

-

-

-

JBoss EAP 7

N/A

-

-

-

Oracle JDK

-

-

-

-

-

-

Apache Camel 2

-

-

-

-

-

Spring Boot

-

-

-

Java application

-

-

-

-

-

-

[a] Although MTA does not currently provide rules for this migration path, Red Hat Consulting can assist with migration from any source platform to JBoss EAP 7.

Chapter 4. Prerequisites

  • Java Development Kit (JDK) installed. MTA supports the following JDKs:

    • OpenJDK 11
    • Oracle JDK 11
  • 8 GB RAM
  • macOS installation: the value of maxproc must be 2048 or greater.

Chapter 5. About the tools

The Migration Toolkit for Applications (MTA) provides several tools to assist you in the various stages of your migration and modernization efforts. Review the details of each tool to determine which is right for your project.

  • User interface
  • Migration Toolkit for Applications Operator
  • CLI
  • IDE addons for:

    • Eclipse and Red Hat CodeReady Studio
    • Visual Studio Code, Visual Studio Codespaces, and Eclipse Che
    • IntelliJ IDEA
  • Maven plugin

5.1. About the MTA Operator

You can install the user interface on OpenShift Container Platform versions 4.9-4.11 with the Migration Toolkit for Applications Operator.

5.2. About the user interface

The user interface for the Migration Toolkit for Applications lets you assess the risks involved in containerizing an application for hybrid cloud environments on Red Hat OpenShift or analyze the changes that must be made in the code of an application in order to containerize the application.

5.3. About the CLI

The CLI is a command-line tool in the Migration Toolkit for Applications that allows users to assess and prioritize migration and modernization efforts for applications. It provides numerous reports that highlight the analysis without the overhead of the other tools. The CLI includes a wide array of customization options, and allows you to finely tune MTA analysis options or integrate with external automation tools.

For more information on using the CLI, see the MTA CLI Guide.

5.4. About the IDE Addons

You can migrate and modernize applications by using the Migration Toolkit for Applications (MTA) addons for:

  • Eclipse and Red Hat CodeReady Studio
  • Visual Studio Code, Visual Studio Codespaces, and Eclipse Che
  • IntelliJ IDEA, both the Community and Ultimate versions

Each addon analyzes your projects using customizable rulesets, marks issues in the source code, provides guidance to fix the issues, and offers automatic code replacement, if possible.

5.5. About the Maven Plugin

The Maven plugin for the Migration Toolkit for Applications integrates into the Maven build process, allowing developers to continuously evaluate migration and modernization efforts with each iteration of source code. It provides numerous reports that highlight the analysis results, and is designed for developers who want updates with each build.

Appendix A. Reference material

A.1. Additional resources

A.1.1. Getting involved

To help the Migration Toolkit for Applications cover most application constructs and server configurations, including yours, you can help with any of the following items.

  • Send an email to jboss-migration-feedback@redhat.com and let us know what MTA migration rules should cover.
  • Provide example applications to test migration rules.
  • Identify application components and problem areas that may be difficult to migrate.

    • Write a short description of these problem migration areas.
    • Write a brief overview describing how to solve the problem migration areas.
  • Try Migration Toolkit for Applications on your application. Be sure to report any issues you encounter.
  • Contribute to the Migration Toolkit for Applications rules repository.

    • Write a Migration Toolkit for Applications rule to identify or automate a migration process.
    • Create a test for the new rule.
    • Details are provided in the Rules Development Guide.
  • Contribute to the project source code.

    • Create a core rule.
    • Improve MTA performance or efficiency.

Any level of involvement is greatly appreciated!

A.1.3. Reporting issues

MTA uses Jira as its issue tracking system. If you encounter an issue executing MTA, submit a Jira issue.





Revised on 2023-02-28 15:21:53 UTC

Legal Notice

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.