Chapter 6. Assessing and analyzing applications


You can use the Migration Toolkit for Applications (MTA) user interface to both assess and to analyze applications.

Assessing applications refers to estimating the risks and costs involved in preparing applications for containerization, including time, personnel, and other factors. The results of an assessment can be used as the basis for discussions between stakeholders to determine which applications are good candidates for containerization, which require significant work, and which are not suitable for containerization.

Analyzing applications refers to using rules to determine which specific lines in an application must be modified before the application can be migrated or modernized.

6.1. Assessing applications

You can use the Migration Toolkit for Applications (MTA) user interface to determine the risks involved in containerizing an application.

Note

The procedure described below uses a built-in questionnaire for assessing the risks involved in containerizing an application. By default, this procedure is required prior to reviewing the application. However, you might want to skip this step and use your own questionnaire instead. In that case, use the Skipping assessment option.

Procedure

  1. In Migration view, click Application inventory.
  2. Select the application you want to assess.

    Note

    Only one application can be assessed at a time.

  3. Click Assess.
  4. Select Stakeholders and Stakeholder groups from the lists to track who contributed to the assessment for future reference.

    Note

    You can add Stakeholder Groups or Stakeholders on the Controls screen of Migration view.

  5. Click Next.
  6. Answer each question and then click Next.
  7. Click Save and Review to view the assessment.

6.1.1. Applying assessments to other applications

Many applications are similar enough to each other, and you might want to apply a completed assessment of one application to another application. This can save time and provide consistent answers to assessment questions for similar applications.

Procedure

  1. In Migration view, click Application inventory.
  2. Select the application with the completed assessment to copy.
  3. Click the Options menu kebab at the right of the selected application.
  4. Select Copy assessment or Copy assessment and review.
  5. Select the application(s) to which you want to apply the completed assessment.
  6. Click Copy.

6.1.2. Skipping assessment of applications

By default, the assessment procedure is required prior to reviewing the application. However, you might want to skip assessment and use your own questionnaire instead. In that case, use the option described below.

Note

This option is available only for Admin and Architect users.

Procedure

  1. In Administration view, click General.
  2. Toggle the Allow reviewing applications without running an assessment first switch.
  3. Go to Migration view and click Application inventory.

    Now the Review step is enabled for all applications including those that have not been assessed.

6.2. Reviewing applications

You can use the Migration Toolkit for Applications (MTA) user interface to determine the migration strategy and work priority for each application.

Procedure

  1. In Migration view, click Application inventory.
  2. Select the application you want to review.

    Note

    Only one application can be reviewed at a time.

  3. Click Review.
  4. Select Proposed action and Effort estimate from the lists. Set Business criticality and Work priority.
  5. Click Submit review.

    The fields from Review are now populated on the Application details page.

6.3. Configuring and running an application analysis

You can analyze more than one application at a time against more than one transformation target in the same analysis.

Procedure

  1. In Migration view, click Application inventory.
  2. Click the Analysis tab.
  3. Select the applications you want to analyze.
  4. Review the credentials assigned to the application.
  5. Click Analyze.
  6. Select the Analysis mode from the list. Valid options are:

    • Binary.
    • Source code.
    • Source code and dependencies.
    • Upload a local binary. This option only appears if you are analyzing a single application.
  7. If you choose Upload a local binary, a window opens and you are prompted to Upload a local binary. Either drag and drop a file into the area provided or click Upload and then select the file to upload.
  8. Click Next.
  9. Select one or more target options for the analysis:

    • Application server migration to:

      • JBoss EAP 7
      • JBoss EAP 6
    • Containerization
    • Quarkus
    • OracleJDK to OpenJDK
    • OpenJDK - upgrades to one of the following JDK versions:

      • OpenJDK 11
      • OpenJDK 17
    • Linux - ensures there are no Microsoft Windows paths hard-coded into your applications
    • Jakarta EE 9 - for migrating from Java EE 8 to Jakarta EE 9
    • Spring Boot on Red Hat Runtimes
    • Open Liberty
    • Camel - for migrating from Apache Camel 2 to Apache Camel 3
    • Azure

      • Azure App Service
  10. Click Next.
  11. Select one of the following Scope options to better focus the analysis:

    • Application and internal dependencies only.
    • Application and all dependencies, including known Open Source libraries.
    • Select the list of packages to be analyzed manually. If you choose this option, type the file name and click Add.
    • Exclude packages. If you choose this option, type the name of the package name and click Add.
  12. Click Next.
  13. In Advanced, you can attach additional custom rules to the analysis. Select Manual or Repository.

    Note

    Attaching custom rules is optional if you have already attached a migration target to the analysis. If you have not attached any migration target, you must attach rules.

    • In Manual mode, click Add Rules. Then either drag and drop the relevant files or select them from their directory and click Add.
    • In Repository mode, you can add rule files from a Git or Subversion repository.
  14. Set any of the following options, if needed:

    • Target
    • Source(s)
    • Excluded rules tags: Rules with these tags are not processed. Add or delete as needed.
    • Enable transaction report: Select the checkbox to generate a DIVA report that displays the call stack, which executes operations on relational database tables.
    • Enable automated tagging: Select the checkbox to automatically attach tags to the application. This checkbox is selected by default.

      Note

      The Transactions report is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

      Note

      Note that the automatically attached tags are displayed only after you run the analysis.

      You can attach tags to the application manually, instead of enabling automated tagging or in addition to it.

      Note

      Analysis engines use standard rules for a comprehensive set of migration targets, but if the target is not included or is a customized framework, custom rules can be added. Custom rules files are validated.

  15. Click Next.
  16. In Review, verify the analysis parameters.
  17. Click Run.

    Analysis status is Scheduled as MTA downloads the image for the container to execute. When the image is downloaded, the status changes to In-progress.

    Note

    Analysis takes minutes to hours to run depending on the size of the application and the capacity and resources of the cluster.

    Tip

    MTA relies on Kubernetes scheduling capabilities to determine how many analyzer instances are created based on cluster capacity. If several applications are selected for analysis, by default, only one analyzer can be provisioned at a time. With more cluster capacity, more analysis processes can be executed in parallel.

  18. When analysis is complete, you can click the Report link to see the results of the analysis.

6.3.1. Viewing analysis details

You can view the details of an analysis by clicking the Options menu kebab and selecting Analysis details. The details are displayed in the Analysis details for customers window. You can choose either YAML or JSON format.

Note

You can view the details of an analysis only after you start running the analysis. If the status of an analysis is Not started, the Analysis details option is disabled.

6.4. Creating custom migration targets

Architects or users with admin permissions can create and maintain custom rulesets associated with custom migration targets. Architects can upload custom rule files and assign them to various custom migration targets. The custom migration targets are then available for selecting in the analysis configuration wizard.

Using ready-made custom migration targets makes unnecessary the cumbersome task of configuring custom rules for each analysis run. This simplifies analysis configuration and execution for non-admin users or third-party developers and makes using the MTA tool easier and more straightforward.

Prerequisites

  • You must be logged in as a user with admin permissions.

Procedure

  1. In Administration view, click Custom migration targets.
  2. Click Create new.
  3. Fill in the name and description of the target.
  4. In the Image section, upload an image file for the target’s icon. The file can be in either PNG or JPEG format, up to 1 MB. If you do not upload any file, a default icon is used.
  5. In the Custom rules section, select either Upload manually or Retrieve from a repository.

    • If you have selected Upload manually, upload or drag and drop the required rule files from your local drive.
    • If you have selected Retrieve from a repository, proceed as follows:

      1. Choose Git or Subversion.
      2. Fill in Source repository, Branch and Root path.
      3. If the repository requires credentials, enter them in the Associated credentials field.
  6. Click Create.

    The new migration target appears on the Custom migration targets page. It can now be used by non-admin users in Migration view.

6.5. Tagging an application

You can attach various tags to the application that you are going to analyze. The tags allow classifying applications in multiple dimensions.

Tagging can be either automatic or manual.

6.5.1. Manual tagging

You can tag an application manually, both before or after you run an analysis.

Procedure

  1. In Migration view, click Application inventory.
  2. Click the Analysis tab.
  3. In the row of the required application, click the pen icon.

    The Update application window opens.

  4. Select the desired tags from the Select a tag(s) drop-down list.
  5. Click Save.

6.5.2. Automatic tagging

MTA translates the technology stack information that the analysis module collects into tags and automatically adds the tags to the application. Automatic tagging is especially useful when dealing with large portfolios of applications.

Automatic tagging of applications is enabled by default. You can disable it by unselecting the Enable automated tagging checkbox in the Advanced section of the Analysis configuration wizard.

Note

To tag an application automatically, make sure that the Enable automated tagging checkbox is selected before you run an analysis of the application.

6.5.3. Viewing the tags of an application

You can view the tags attached to a particular application.

Note

You can view the tags that were attached automatically only after you have run an analysis of the application.

Procedure

  1. In Migration view, click Application inventory.
  2. Click the Analysis tab.
  3. Click the name of the required application.

    A side drawer opens.

  4. In the side drawer, click the Tags tab.

    You can see the tags attached to the application.

    The tags can be filtered by source and tag category. The sources are Analysis and Manual. The categories are displayed in a drop-down list, for example, HTTP, MVC, Web, Observability, Persistence, Application Type, Data Center.

6.6. Reviewing an analysis report

An MTA analysis report contains a variety of sections, including a listing of the technologies used by the application, the dependencies of the application, and the lines of code that must be changed to successfully migrate or modernize the application.

For more information on the contents of an MTA analysis report, see the Reviewing the reports

Procedure

  1. In Migration view, click Application inventory.
  2. Expand the application with a completed analysis.
  3. Click Reports.
  4. Click the dependencies or source links.
  5. Click the tabs to review the report.

6.6.1. Downloading an analysis report

For your convenience, you can download analysis reports. By default, this option is disabled, but you can enable it as described below.

Procedure

  1. In Administration view, click General.
  2. Toggle the Enable downloads for HTML reports and Enable downloads for CSV reports switches.
  3. Go to Migration view and click Application inventory.
  4. Open the page of the application for which you ran an analysis.
  5. Click Reports.
  6. Click the Download report link.

    The report is downloaded and saved in the Downloads directory as report.tar.gz.

Note

To download a report as an HTML file, you can enable the download option either before or after you run the analysis.

To download a report as an CSV file, you must enable the download option before you run the analysis.

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.