Chapter 1. Introduction to the Migration Toolkit for Applications Migration Toolkit for Applications (MTA) is a set of tools that you can use to accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. MTA 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 also generates a detailed report that evaluates a migration or modernization path. By using this report, you can estimate the effort required for large-scale projects and reduce the work involved. By using the MTA, you can perform the following tasks: Use the MTA extensive default questionnaire to assess your applications, or create your own custom questionnaire to estimate the difficulty, time, and other resources needed to prepare an application for containerization. You can use the results of an assessment for discussions between stakeholders to determine which applications are suitable for containerization. Analyze applications by applying one or more sets of rules to each application. You can use these rules to determine which specific lines of the application must be modified before the application can be modernized. Examine application artifacts, including project source directories and application archives, and produce an HTML report that highlights areas that require changes. 1.1. The MTA features Migration Toolkit for Applications (MTA) provides the following features to simplify upgrades with more migration paths: New application inventory and assessment modules to 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 these dependencies to the overall scope of the analysis. You can also use a simplified user experience to configure the analysis scope, including open source libraries. Enhanced Role-Based Access Control (RBAC) powered by Red Hat Single Sign-On to define new differentiated personas (administrator, architect, and migrator) with different permissions to suit the needs of each user, including credentials management for multiple credential types. Administration perspective to provide tool-wide configuration management for administrators. Support for Red Hat OpenShift on AWS (ROSA) is introduced in MTA 7.0.0. Support added for Azure Red Hat OpenShift (ARO) is introduced in MTA 7.0.0. Multi language support is introduced in 7.1.0. In Migration Toolkit for Applications (MTA) 7.1.0, you can use MTA to analyze applications written in languages other than Java. ( Developer Preview ) 1.2. The MTA rules The Migration Toolkit for Applications (MTA) contains rule-based migration tools (analyzers) that you can use to analyze the application user interfaces (APIs), technologies, and architectures used by the applications you plan to migrate. MTA analyzer rules use the following rule pattern: You can use the MTA rules internally to perform the following tasks: Extract files from archives. Decompile files. Scan and classify file types. Analyze XML and other file content. Analyze the application code. Build the reports. MTA builds a data model based on the rule execution results and stores component data and relationships in a graph database. This database can then be queried and updated as required by the migration rules and for reporting purposes. Note You can create your own custom analyzer rules. You can use custom rules to identify the use of custom libraries or other components that might not be covered by the provided standard migration rules. For instructions on how to write custom rules, see [ Rule Development Guide ].

Commands:
when(condition) message(message) tag(tags)