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章 はじめに
1.1. Migration Toolkit for Applications のご紹介
このガイドは、Migration Toolkit for Applications (MTA) を使用して、Red Hat OpenShift のハイブリッドクラウド環境全体で大規模なアプリケーションモダナイゼーションの取り組みを促進することを検討しているアーキテクト、エンジニア、コンサルタントなどを対象としています。Migration Toolkit for Applications の概要と、移行を計画して実行するツールを使用して開始する方法を説明します。
Migration Toolkit for Applications 5.x リリースで提供されていた Java アプリケーションの移行ソリューション (Java アプリケーションの移行とモダナイゼーション) は、Migration Toolkit for Runtimes 1.0 で利用できるようになりました。
第2章 Migration Toolkit for Applications の概要
Migration Toolkit for Applications とは ?
Migration Toolkit for Applications (MTA) は、Red Hat OpenShift 上のハイブリッドクラウド環境全体で大規模なアプリケーションモダナイゼーションに対する取り組みを促進します。このソリューションは、採用プロセス全体においてポートフォリオレベルとアプリケーションレベルの両方で理解が得られるので、アプリケーションのインベントリー、評価、分析、および管理を行い、ユーザーインターフェイスを使用して OpenShift への移行をより短い期間で行うことができます。
MTA は、アプリケーションを評価するための基礎として広範にわたる質問リストを使用して、コンテナー化のアプリケーションの準備に必要な難易度、時間、およびその他のリソースを見積もることができるようにします。ステークホルダー間の議論の基礎として評価の結果を使用して、どのアプリケーションがコンテナー化に適しているか、最初に多大な作業が必要なアプリケーション、およびコンテナー化に適していないアプリケーションを判断できます。
MTA は、考慮された各アプリケーションに 1 つ以上のルールセットを適用してアプリケーションを分析し、最新化する前にそのアプリケーションの中でどの特定の行を変更する必要があるかを判断します。
MTA は、プロジェクトソースディレクトリーやアプリケーションアーカイブを含むアプリケーションアーティファクトを検査し、変更を必要とするエリアを強調表示する HTML レポートを作成します。MTA は、以下を含む多くの移行パスをサポートします。
- Red Hat JBoss Enterprise Application Platform の最新リリースへのアップグレード
- Oracle WebLogic または IBM WebSphere Application Server から Red Hat JBoss Enterprise Application Platform への移行
- アプリケーションのコンテナー化とクラウド化
- Java Spring Boot から Quarkus への移行
- OpenJDK 8 から OpenJDK 11 へのアップグレード
- OpenJDK 11 から OpenJDK 17 へのアップグレード
- EAP Java アプリケーションの Azure App Service への移行
- Spring Boot Java アプリケーションの Azure App Service への移行
ユースケースおよび移行パスの詳細は、開発者向け MTA Web ページを参照してください。
Migration Toolkit for Applications による移行を単純化する方法
Migration Toolkit for Applications は一般的なリソースを探し、アプリケーションを移行する際の既知の問題点を明らかにします。これは、アプリケーションが使用するテクノロジーのハイレベルビューを提供します。
MTA は、移行またはモダナイゼーションパスの評価に関する詳細なレポートを生成します。このレポートは、大規模なプロジェクトに必要な作業を見積もり、関係する作業を減らすのに役立ちます。
2.1. MTA の機能
Migration Toolkit for Applications (MTA) は、業界をリードする Kubernetes プラットフォームである Red Hat OpenShift 上のハイブリッドクラウド環境全体でアプリケーションをより適切に評価、優先順位付け、モダナイズできるツールの統合アセンブリです。
より多くの移行パスで簡単にアップグレードできるように設計された MTA には、次のものが含まれます。
- 組織がアプリケーションを管理、分類、タグ付けする際に役立つ 新しいアプリケーションインベントリーおよび評価モジュール。移行戦略で発生し得るリスクにフラグを立てるなど、コンテナーへのデプロイメントに対するアプリケーションの適合性を評価します。
- ソースコードおよびバイナリーリポジトリーとの完全な統合。分析用のアプリケーションの取得を自動化し、ユーザーインターフェイスで管理される HTTP および HTTPS プロキシー設定などのプロキシー統合を行います。
- 新規分析モードを含む 向上された分析機能。リポジトリーを解析して依存関係を収集し、分析の全体的な対象範囲に追加するソースと依存関係モードが含まれます。また、オープンソースライブラリーを含む分析範囲を設定するための簡素化されたユーザーエクスペリエンスもあります。
- Red Hat Single Sign-On で強化された ロールベースのアクセス制御 (RBAC)。複数の認証情報タイプの認証情報管理を含む、各ユーザー (管理者、アーキテクト、移行者) のニーズに合わせて異なる権限を持つ 3 つの新しい差別化されたペルソナが定義されます。
- 管理者向けのツール全体の設定管理を提供する 管理者のパースペクティブ。
2.2. MTA ルールについて
Migration Toolkit for Applications (MTA) には、移行予定のアプリケーションが使用する API、テクノロジー、アーキテクチャーを分析するルールベースの移行ツールが含まれています。実際、MTA 分析プロセスは MTA ルールを使用して実装されます。MTA は内部でルールを使用して、アーカイブからのファイルの抽出、ファイルの逆コンパイル、ファイルタイプのスキャンと分類、XML およびその他のファイルコンテンツの分析、アプリケーションコードの分析、レポートの作成を行います。
MTA は、ルール実行結果に基づいてデータモデルを構築し、グラフデータベースにコンポーネントデータと関係を格納します。これにより、移行ルールやレポート目的に応じてクエリーおよび更新が可能になります。
MTA ルールでは、以下のルールパターンを使用します。
when(condition) perform(action) otherwise(action)
MTA は、標準の包括的な移行ルールの包括的なセットをそのまま使用できます。アプリケーションにはカスタムライブラリーまたはコンポーネントが含まれる可能性があるため、MTA では独自のルールを作成して、既存のルールセットで対応していない可能性のあるコンポーネントやソフトウェアの使用を特定することができます。
独自のカスタムルールを作成する予定の場合には、ルール開発ガイド で詳細な手順を確認してください。
第3章 サポートされる設定
3.1. サポート対象の移行パス
Migration Toolkit for Applications (MTA) は、Oracle WebLogic Server などのサードパーティーのエンタープライズアプリケーションサーバーから JBoss Enterprise Application Platform (JBoss EAP) への移行と、JBoss EAP の最新リリースへのアップグレードをサポートしています。
MTA は、Red Hat OpenShift Container Platform (RHOCP) でのコンテナー化およびデプロイメントのアプリケーションの適合性を評価するための包括的なルールセットを提供します。MTA 分析を実行して、複数のターゲットプラットフォームに移行するアプリケーションの適切性を評価することができます。
以下の表は、最も一般的な移行パスを示しています。
ソースプラットフォーム ⇒ | JBoss EAP 6 | JBoss EAP 7 | RHOCP | OpenJDK 8、11 & 17 | Apache Camel 3 | Spring Boot on Red Hat Runtimes | Quarkus | Azure |
---|---|---|---|---|---|---|---|---|
Oracle WebLogic Server | ✔ | ✔ | ✔ | ✔ | - | - | - | - |
IBM WebSphere Application Server | ✔ | ✔ | ✔ | ✔ | - | - | - | - |
JBoss EAP 4 | ✔ | ✘ [a] | ✔ | ✔ | - | - | - | - |
JBoss EAP 5 | ✔ | ✔ | ✔ | ✔ | - | - | - | - |
JBoss EAP 6 | 該当なし | ✔ | ✔ | ✔ | - | - | - | - |
JBoss EAP 7 | 該当なし | ✔ | ✔ | ✔ | - | - | - | ✔ |
Oracle JDK | - | - | ✔ | ✔ | - | - | - | - |
Apache Camel 2 | - | - | ✔ | ✔ | ✔ | - | - | - |
Spring Boot | - | - | ✔ | ✔ | - | ✔ | ✔ | ✔ |
Java アプリケーション | - | - | ✔ | ✔ | - | - | - | - |
[a]
現在 MTA はこの移行パスのルールを提供していませんが、Red Hat コンサルティングはソースプラットフォームから JBoss EAP 7 への移行を支援します。
|
第4章 前提条件
Java Development Kit(JDK) がインストールされている。MTA は以下の JDK をサポートします。
- OpenJDK 11
- Oracle JDK 11
- 8 GB RAM
-
macOS のインストール:
maxproc
の値は2048
以上である必要がある。
第5章 ツールについて
Migration Toolkit for Applications (MTA) は、移行およびモダライゼーションのさまざまな段階を支援するツールを提供します。各ツールの詳細を確認し、プロジェクトに適したものを特定します。
- ユーザーインターフェイス
- Migration Toolkit for Applications Operator
- CLI
次の IDE アドオン:
- Eclipse および Red Hat CodeReady Studio
- Visual Studio Code、Visual Studio Codespaces、および Eclipse Che
- IntelliJ IDEA
- Maven プラグイン
5.1. MTA Operator について
Migration Toolkit for Applications Operator を使用して OpenShift Container Platform バージョン 4.9 - 4.11 にユーザーインターフェイスをインストールできます。
5.2. ユーザーインターフェイスについて
Migration Toolkit for Applications のユーザーインターフェイスを使用すると、Red Hat OpenShift でのハイブリッドクラウド環境用のアプリケーションのコンテナー化に伴うリスクを評価したり、アプリケーションをコンテナー化するためにアプリケーションのコードで加える必要がある変更を分析したりできます。
5.3. CLI について
CLI は、Migration Toolkit for Applications のコマンドラインツールです。これにより、ユーザーはアプリケーションに対する移行およびモダナイゼーションの作業を評価および優先順位付けできます。他のツールのオーバーヘッドなしに分析を強調表示する多数のレポートが提供されます。CLI にはさまざまなカスタマイズオプションが含まれており、MTA 分析オプションを細かく調整したり、外部の自動化ツールと統合したりできます。
CLI の使用に関する詳細は、MTA の CLI ガイド を参照してください。
5.4. IDE アドオンについて
Migration Toolkit for Applications (MTA) アドオンを使用して、アプリケーションを移行およびモダナイズできます。
- Eclipse および Red Hat CodeReady Studio
- Visual Studio Code、Visual Studio Codespaces、および Eclipse Che
- IntelliJ IDEA、Community バージョンと Ultimate バージョンの両方
各アドオンは、カスタマイズ可能なルールセットを使用してプロジェクトを分析し、ソースコード内の問題をマークし、問題を修正するためのガイダンスを提供し、可能な場合は自動コードの置き換えを提供します。
5.5. Maven プラグインについて
Migration Toolkit for Applications の Maven プラグインは Maven ビルドプロセスに統合されるため、開発者はソースコードの反復ごとに移行およびモダイライゼーション作業を継続的に評価できます。分析結果を強調表示するレポートが多数提供され、ビルドごとに更新が必要な開発者向けに設計されています。
付録A 参考資料
A.1. 関連情報
A.1.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.1.2. リソース
- MTA フォーク: https://developer.jboss.org/en/windup
- Jira 課題トラッカー: https://issues.redhat.com/projects/TACKLE
- MTA メーリングリスト: jboss-migration-feedback@redhat.com
A.1.3. 問題の報告
MTA は Jira を問題追跡システムとして使用します。MTA の実行で問題が発生した場合は、Jira issue を作成してください。
改訂日時: 2023-04-08