Migration Toolkit for Applications の概要
OpenShift Container Platform への移行時にアプリケーションを管理するための Migration Toolkit for Applications の紹介
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Migration Toolkit for Applications の概要
Migration Toolkit for Applications (MTA) は、Red Hat OpenShift 上のハイブリッドクラウド環境全体を対象とした大規模なアプリケーションモダナイゼーションの取り組みを加速するために使用できるツールのセットです。MTA は、アプリケーションの移行時に共通のリソースと既知の問題点を検出します。アプリケーションで使用されるテクノロジーの概要を示します。MTA は、移行またはモダナイゼーションパスを評価する詳細レポートも生成します。このレポートを利用することで、大規模なプロジェクトに必要な作業を見積もり、関係する作業を削減できます。
MTA を使用すると、次のタスクを実行できます。
- MTA の広範にわたるデフォルトの質問集を使用してアプリケーションを評価するか、独自のカスタム質問集を作成して、アプリケーションのコンテナー化の準備に必要な難易度、時間、その他のリソースを見積もることができます。評価の結果を使用して関係者間で議論し、どのアプリケーションがコンテナー化に適しているかを判断できます。
- 各アプリケーションに 1 つ以上のルールセットを適用して、アプリケーションを分析できます。これらのルールを使用して、アプリケーションをモダナイズする前に、アプリケーションの特定の行を変更する必要があるかを確認できます。
- プロジェクトのソースディレクトリーやアプリケーションアーカイブなど、アプリケーションアーティファクトを調べ、変更が必要な部分を明らかする HTML レポートを作成できます。
1.1. MTA の機能
Migration Toolkit for Applications (MTA) は、多くの移行パスのアップグレードを簡素化する次の機能を備えています。
- 新しいアプリケーションインベントリーおよび評価モジュール。組織のアプリケーションの管理、分類、タグ付けを支援すると同時に、移行ストラテジーの潜在的なリスクにフラグを立てるなど、コンテナーへのデプロイに対するアプリケーションの適合性を評価します。
- ソースコードおよびバイナリーリポジトリーとの完全な統合。分析用のアプリケーションの取得を自動化し、ユーザーインターフェイスで管理される HTTP および HTTPS プロキシー設定などのプロキシー統合を行います。
- 強化された分析機能。リポジトリーを解析して依存関係を収集し、その依存関係を分析の全体的な対象範囲に追加するソースおよび依存関係モードなど、新しい分析モードを搭載しています。簡素化されたユーザーエクスペリエンスを使用して、オープンソースライブラリーなどの分析範囲を設定することもできます。
- Red Hat Single Sign-On を利用した 強化されたロールベースのアクセス制御 (RBAC)。各ユーザーのニーズに合わせて、複数の認証情報タイプの認証情報管理を含む、異なる権限を持つ新しいペルソナ (管理者、アーキテクト、移行者) を細かく定義できます。
- 管理パースペクティブ。管理者向けのツール全体の設定管理を提供します。
- Red Hat OpenShift on AWS (ROSA) のサポート が MTA 7.0.0 で導入されました。
- Azure Red Hat OpenShift (ARO) のサポート が MTA 7.0.0 で導入されました。
- 7.1.0 で 多言語サポート が導入されました。Migration Toolkit for Applications (MTA) 7.1.0 では、MTA を使用して Java 以外の言語で記述されたアプリケーションを分析できます。(開発者プレビュー)
1.2. MTA のルール
Migration Toolkit for Applications (MTA) には、ルールベースの移行ツール (アナライザー) が含まれています。このツールを使用すると、移行予定のアプリケーションで使用されているアプリケーションユーザーインターフェイス (API)、テクノロジー、およびアーキテクチャーを分析できます。MTA アナライザーのルールでは、次のルールパターンが使用されます。
when(condition) message(message) tag(tags)
MTA ルールを内部的に使用して、次のタスクを実行できます。
- アーカイブからファイルを抽出する。
- ファイルを逆コンパイルする。
- ファイルの種類をスキャンして分類する。
- XML およびその他のファイルコンテンツを分析する。
- アプリケーションコードを分析する。
- レポートを作成する。
MTA は、ルールの実行結果に基づいてデータモデルを構築し、コンポーネントのデータと関係をグラフデータベースに保存します。このデータベースは、レポートのために、移行ルールによって必要に応じて照会および更新されます。
独自のカスタムアナライザールールを作成できます。カスタムルールを使用すると、用意されている標準移行ルールの対象外であるカスタムライブラリーなどのコンポーネントの使用を識別できます。
カスタムルールの作成方法は、ルール開発ガイド を参照してください。
第2章 サポートされている Migration Toolkit for Applications の移行パス
Migration Toolkit for Applications (MTA) は、次の移行をサポートしています。
- サードパーティーのエンタープライズアプリケーションサーバー (Oracle WebLogic Server など) から JBoss Enterprise Application Platform (JBoss EAP) への移行。
- JBoss EAP の最新リリースへのアップグレード。
- Windows 専用の .NET 4.5+ Framework からクロスプラットフォームの .NET 8.0 への移行。(開発者プレビュー)
MTA は、Red Hat OpenShift Container Platform (RHOCP) でのコンテナー化およびデプロイメントのアプリケーションの適合性を評価するための包括的なルールセットを提供します。MTA 分析を実行して、複数のターゲットプラットフォームに移行するアプリケーションの適切性を評価できます。
ソースプラットフォーム ⇒ | JBoss EAP 7、8 への移行 | OpenShift (クラウド対応) | OpenJDK 11、17、21 | Jakarta EE 9 | Camel 3、4 | Spring Boot in Red Hat Runtimes | Quarkus | Open Liberty |
---|---|---|---|---|---|---|---|---|
Oracle WebLogic Server | ✔ | ✔ | ✔ | - | - | - | - | - |
IBM WebSphere Application Server | ✔ | ✔ | ✔ | - | - | - | - | ✔ |
JBoss EAP 4 | ✘ [a] | ✔ | ✔ | - | - | - | - | - |
JBoss EAP 5 | ✔ | ✔ | ✔ | - | - | - | - | - |
JBoss EAP 6 | ✔ | ✔ | ✔ | - | - | - | - | - |
JBoss EAP 7 | ✔ | ✔ | ✔ | - | - | - | ✔ | - |
Thorntail | ✔ [b] | - | - | - | - | - | - | - |
Oracle JDK | - | ✔ | ✔ | - | - | - | - | - |
Camel 2 | - | ✔ | ✔ | - | ✔ | - | - | - |
Spring Boot | - | ✔ | ✔ | ✔ | - | ✔ | ✔ | - |
すべての Java アプリケーション | - | ✔ | ✔ | - | - | - | - | - |
任意の Java EE アプリケーション | - | - | - | ✔ | - | - | - | - |
[a]
現在 MTA はこの移行パスのルールを提供していませんが、Red Hat コンサルティングはソースプラットフォームから JBoss EAP 7 への移行を支援します。
[b]
JBoss Enterprise Application Platform expansion pack 2 (EAP XP 2) が必要
|
- .NET 移行パス: ソースプラットフォーム ⇒ ターゲットプラットフォーム (開発者プレビュー)
ソースプラットフォーム ⇒ | OpenShift (クラウド対応) | .NET 8.0 への移行 |
---|---|---|
.NET Framework 4.5+ (Windows 専用) | ✔ | ✔ |
第3章 Migration Toolkit for Applications のインストールの前提条件
Migration Toolkit for Applications (MTA) のインストールの前提条件は次のとおりです。
Java Development Kit (JDK) がインストールされている。MTA がサポートしているのは以下の JDK です。
- OpenJDK 11
- OpenJDK 17
- Oracle JDK 11
- Oracle JDK 17
- Eclipse Temurin™ JDK 11
- Eclipse Temurin™ JDK 17
- 8 GB RAM。
-
macOS のインストール:
maxproc
の値が2048
以上である。
第4章 Migration Toolkit for Applications ツール
Migration Toolkit for Applications (MTA) の次のツールを使用して、移行とモダナイゼーションの取り組みのさまざまな段階を支援できます。
- ユーザーインターフェイス
- Migration Toolkit for Applications Operator
- CLI
次のアプリケーション用の IDE アドオン:
- Eclipse
- Visual Studio Code、Visual Studio Codespaces、および Eclipse Che
- IntelliJ IDEA
- Maven プラグイン
各ツールの詳細を確認して、どのツールがプロジェクトに適しているかを判断してください。
4.1. MTA Operator
Migration Toolkit for Applications Operator を使用すると、OpenShift Container Platform バージョン 4.15 - 4.17 にユーザーインターフェイスをインストールできます。
MTA Operator をインストールするための前提条件の詳細は、OpenShift Operator のライフサイクル を参照してください。
4.2. MTA のユーザーインターフェイス
Migration Toolkit for Applications のユーザーインターフェイスを使用すると、次のタスクを実行できます。
- Red Hat OpenShift 上のハイブリッドクラウド環境向けにアプリケーションをコンテナー化することに伴うリスクを評価できます。
- アプリケーションをコンテナー化するためにアプリケーションのコードに加える必要がある変更を分析できます。
4.3. MTA の CLI
CLI は、Migration Toolkit for Applications のコマンドラインツールです。アプリケーションの移行とモダナイゼーションの取り組みを評価し、優先順位を付けるために使用できます。他のツールを使用せずに、分析内容を示す多数のレポートを提供します。CLI には、幅広いカスタマイズオプションがあります。CLI を使用すると、MTA の分析オプションを調整したり、外部自動ツールと統合したりできます。
CLI の使用の詳細は、CLI ガイド を参照してください。
4.4. MTA IDE アドオン
次のアプリケーション用の Migration Toolkit for Applications (MTA) アドオンを使用して、アプリケーションを移行およびモダナイズできます。
- Eclipse
- Visual Studio Code、Visual Studio Codespaces、および Eclipse Che
- IntelliJ IDEA、Community バージョンと Ultimate バージョンの両方
これらのアドオンを使用すると、次のタスクを実行できます。
- カスタマイズ可能なルールのセットを使用してプロジェクトを分析する。
- ソースコードの問題点をマークする。
- 提供されたガイダンスを使用して問題を修正する。
- 可能な場合に、自動コード置換を使用する。
付録A Migration Toolkit for Applications の開発への参加
A.1. プロジェクトへの貢献
Migration Toolkit for Applications がほとんどのアプリケーション設定とサーバー設定 (お客様のものを含む) に対応できるように、次の項目にご協力をお願いします。
- jboss-migration-feedback@redhat.com にメールを送信し、MTA 移行ルールが対象とする必要がある内容を知らせる。
- 移行ルールをテストするためのアプリケーションの例を指定する。
移行が困難なアプリケーションコンポーネントおよび問題の領域を特定する。
- 問題がある移行領域について簡単な説明を記入する。
- 移行領域の問題を解決する方法の簡単な説明を記入する。
- アプリケーションで Migration Toolkit for Applications を試行する。問題が発生した場合は必ず報告してください。
Migration Toolkit for Applications ルールリポジトリーに貢献する。
- Migration Toolkit for Applications ルールを記述して、移行プロセスを識別または自動化する。
- 新規ルールのテストを作成します。
詳細は、ルール開発ガイド を参照してください。
プロジェクトのソースコードに貢献する。
- コアルールを作成する。
- MTA のパフォーマンスまたは効率が向上する。
どのレベルの参加でも大歓迎です。
A.2. 問題の報告
MTA は Jira を問題追跡システムとして使用します。MTA の実行で問題が発生した場合は、Jira issue を作成してください。
A.3. Migration Toolkit for Applications の開発リソース
Migration Toolkit for Applications の開発を理解し、貢献するには、次のリソースを使用してください。
- MTA フォーク: https://developer.jboss.org/en/windup
- Jira 問題トラッカー: https://issues.redhat.com/projects/MTA/issues
- MTA メーリングリスト: jboss-migration-feedback@redhat.com
改訂日時: 2025-01-27