Java アプリケーションをモダナイズする
既存の Java アプリケーションへの投資を未来のテクノロジーに対応させる
概要
従来の Java アプリケーション・ポートフォリオは通常、サポートと保守に多大な時間、労力、予算を要します。それでも、Java と Java フレームワークは、先進的なコンテナやクラウドネイティブ・デプロイメント向けに大きく進化してきました。
Java アプリケーションをモダナイズすることで、既存の投資からより多くのリターンを得るとともに、時間と予算を解放して戦略的なプロジェクト、機能の改善、ビジネスイニシアチブをサポートする新しいアプリケーションに割り当てることができます。
Java ワークロードをモダナイズする理由
課題 | モダナイゼーションのメリット |
---|---|
複数の JDK、複数のバージョン、ライセンスの問題 JDK を最新の状態に保てていないことが少なくなく、一部のバージョンでは重大なアップデートが受けられなくなっています。 | ワークロードを単一の JDK に標準化する 単一の JDK に標準化することで、ライセンスやサポートの問題が軽減されます。 |
広範な Java ランタイムとフレームワーク 従来の Java アプリケーション・ポートフォリオは、一貫した保守および運用が難しくなっています。 | 先進的な Java ランタイムとフレームワークの標準化 標準化することで、リスクを軽減し、継続的な開発と保守を効率化することができます。 |
製品サポート終了、旧式のフレームワーク サポートが終了になると、アプリケーションに組み込まれたフレームワークも含め、セキュリティアップデートやバグ修正が行われません。 | アプリケーション提供の自動化 標準化した後、デリバリーパイプラインを自動化することで、将来のコンポーネントのアップデートやアップグレードをより簡単に行うことができます。 |
セキュリティ、信頼性、コンプライアンスのリスク 旧式のコンポーネントは深刻なセキュリティリスクをもたらし、コンプライアンス規制に違反する可能性もあります。 | 信頼できるコンポーネントを使用してリスクを低減 信頼できるソフトウェア・サプライチェーンは、安全なコード、脆弱性管理、標準コンプライアンスの実装をサポートします。 |
パフォーマンスとスケーリングの問題 従来の Java アプリケーションのパフォーマンスは、旧式のテクノロジー、非効率的なコード、限られたスケーラビリティのために損なわれている可能性があります。 | パフォーマンスとスケールを更新 Java アプリケーションを Kubernetes 上でモダナイズすることで、パフォーマンスとスケーラビリティが向上します。 |
複数の運用プラットフォーム 複数の運用プラットフォームを使用していると、既存のアプリケーションに複雑性、不整合性、コンプライアンス上の課題が生じます。 | フットプリントの標準化 Kubernetes を使用して、アプリケーションをデプロイ、管理、オーケストレーションするための統一プラットフォームを実現します。 |
メンテナンスが難しいモノリス モノリシック・アプリケーションは、大規模で密結合のコードベースのため、保守が困難です。 | モノリスの分解 モノリスを小さな断片に分解することで、モジュール式開発、スケーラビリティの向上、迅速なデプロイが可能になります。 |
統合のニーズ 新しいアプリケーションを既存のアプリケーションと統合する必要があり、多くの場合、テクノロジーに互換性がないために問題となります。 | クラウドネイティブ統合 オンプレミス・アプリケーションとクラウドネイティブ・アプリケーションを統合することで、シームレスなデータ交換が可能になります。 |
テクノロジーによるプロセスと実践の規定 テクノロジーによってプロセスや実践が規定される状態では、最適とは言えない結果を招く可能性があります。 | 先進的なアーキテクチャへの移行 先進的なアーキテクチャに移行することで、テクノロジーのニーズではなく、お客様のニーズにテクノロジーをうまく合わせることができます。 |
レガシーが引き起こす人材難 旧式のテクノロジーに精通した人材が減少し、採用が困難になります。 | 先進的なプラットフォームとテクノロジー 先進的なプラットフォームとテクノロジーを導入することで、より多くの人材が集まり、知識の移転が促進されます。 |
増大するコストリスク レガシー・アプリケーションによってメンテナンス、サポート、インフラストラクチャの費用が増加するため、コストリスクが高まります。 | コスト削減のための最適化 コードの効率化、インフラストラクチャの最適化、高密度化、セキュリティの強化、レガシーライセンスの廃止により、コスト削減を実現します。 |
推奨されるアプローチ
ディスカバリー
既存の JDK、ランタイム、アプリケーション、インフラストラクチャ、ソフトウェア・デリバリー・プロセスのインベントリーを作成し、現在の課題、制限、リスク (現状) を特定します。将来のあるべき姿のビジネス要件と技術要件を書き出します。
アセスメント、計画、設計
既存のアプリケーション・ポートフォリオ、インフラストラクチャ、プロセス、手法についてアセスメントを行い、各レベルにおける将来の状態を決定します。アセスメントによる結果に優先順位を付け、モダナイゼーション作業の範囲を定義し、詳細な計画を策定します。
試験運用
アプリケーションの代表的なサブセットが、移行またはモダナイゼーションの対象として選択されます。このフェーズでは、アプローチの検証、課題の特定、リスクの軽減、スキルと再現可能なパターンの構築を行い、より広範なモダナイゼーション作業の意思決定と計画に反映させます。
開発とデプロイ
リファクタリングおよびモダナイズされたアプリケーション・コンポーネントを開発し、他のシステムおよびサービスと統合してプロダクションにデプロイします。フィードバックループとナレッジ管理は、速度を上げ、繰り返し可能なパターンを加速させる鍵となります。
運用および保守
高度な監視機能によるインフラストラクチャのさらなる最適化、自動化のさらなる改善、高度なプラットフォーム機能の活用に重点を移します。これは、アプリケーションを次のレベルに最適化し、将来のアップグレードや機能拡張を計画する良い機会です。
ツール
Red Hat のツール
- アプリケーション移行ツールキット
- Konveyor コミュニティ・プロジェクト:Konveyor Toolkit、Move2Kube
- アプリケーションサービスのための Ansible Automation
Red Hat とのコラボレーションの結果、弊社では新しいサービスやアップデートをより安全な方法で、明確に定義された標準に基づいて、以前よりも 2 倍以上早く市場に投入できるようになりました。
お客様導入事例
AVIATAR チームは Microsoft と Red Hat の両社と協力して、新しいハイブリッドクラウド環境を構築しました。プラットフォームの初期バージョンを稼働させるまで、わずか 100 日間しかかかりませんでした。
ユーザーエクスペリエンスを向上させながら成長をサポートするため、DAB は分離していた多くのシステムを統合し、サードパーティのサプライヤーとの統合を単純化する方法を模索していました。DAB は Red Hatと協力することをすぐに決定し、サポート付きエンタープライズ・ソリューションで新しいインフラストラクチャを構築しました。
関連資料
Java アプリケーションのモダナイゼーション・ジャーニーの計画
この実用的なガイドでは、Red Hat による Java アプリケーションのモダナイゼーション・ジャーニーを通して、技術者とビジネス両方の読者にとって重要な情報を紹介しています。
エンタープライズ Java アプリケーションをモダナイズする
長年にわたって確立されてきた Java ベースのモデルを開発者が確認するための手助けとなり、これらのモノリシック・アプリケーションをクラウドにうまく導入する方法を紹介する、無料の実用的な e ブック (Red Hat 後援) です。
Java アプリケーションをクラウド向けにモダナイズする
Red Hat の開発者向けサイトでは、Java アプリケーションのリホスト、リプラットフォーム、リファクタリングに関するチュートリアルをご覧いただけます。このコンテンツには、開発者やアーキテクト向けの情報を豊富にご用意しています。
次のステップ
OpenShift を試用する
Red Hat OpenShift の 60 日間無料トライアルをダウンロードして、アプリケーション開発とモダナイゼーションを加速しましょう。
Level Up OpenShift
対象となる Red Hat のお客様が利用できる Level Up Program は、パイロットプロジェクトまたはプロダクション・ワークロード向けに専門家によるガイダンスとフルサポート付きのサブスクリプションを長期間提供します。
Red Hat がお手伝いします
Red Hat コンサルティングと認定システム・インテグレーション・パートナーのネットワークは、モダナイゼーション・イニシアチブのどの段階においてもお客様を支援します。