アプリケーションのモダナイゼーションとは、主にモノリシックなレガシー・アプリケーションを、マイクロサービス・アーキテクチャー上に構築されたクラウド・アプリケーションへと変換することを指します。
アプリケーションのモダナイゼーションとは、既存のレガシー・アプリケーションを取得し、そのプラットフォーム・インフラストラクチャー、内部アーキテクチャーやその他の機能をモダナイズするプロセスです。現在、アプリケーションのモダナイゼーションに関する議論の多くは、モノリシックなオンプレミス・アプリケーション(通常はウォーターフォール開発プロセスを使用して更新および保守される)と、それらのアプリケーションをクラウド・アーキテクチャーとリリース・パターン(つまりマイクロサービスとDevOps)に組み込む方法に焦点が当てられています。
アプリケーションのモダナイゼーションを行うメリットには、一般的に、新機能を提供するまでの時間を加速できること、既存アプリケーションの機能を公開してAPI経由で他のサービスが利用できるようにすること、アプリケーションのスケールとパフォーマンス、および長期的なデータセンターとIT戦略を目的としてアプリケーションをオンプレミスからクラウドに再プラットフォーム化すること、などがあります。
アプリケーションのモダナイゼーションの課題は、一般的にコストと複雑さに関連しています。ROIを考慮せずにアプリケーションをオンプレミスからクラウドに移行するなら、単にアプリケーションを移行するだけです。しかし、アプリケーションによっては、プラットフォームの再設計や再アーキテクチャー化によって大きなメリットを得られるかもしれませんが、既存のシステムやインフラストラクチャーと非常に密接に結びついているため、モダナイゼーションの複雑さがメリットを上回る可能性があります。
アプリケーションのモダナイゼーションを成功させる鍵は、他のほとんどのことと同様に、クラウド、スピード、パフォーマンス、スケール、新機能の開発などのメリットが、特定のアプリケーションに顧客体験とROIの向上への明確な道筋を提供するアプリケーション・モダナイゼーション・プロジェクトを選択すること、そして戦略にかかっています。
レガシー・アプリケーションの多くは、モノリシック・アプリケーションとして構築されています。モノリシック・アプリケーションには、更新が難しいことや、拡張が困難でコストがかかるという2つの特性があるため、モダナイゼーションが求められています。
モノリシック・アプリケーションは、アーキテクチャー上の理由から更新が困難です。アプリケーションは付随するコンポーネントが同時に出荷されるため、複雑さと統合による課題と関連したオーバーヘッドを考慮すると、機能の追加は困難かつコストがかかります。
同様の理由から、スケーリングも困難でコストがかかります。アプリケーションの1つのコンポーネントでも負荷とパフォーマンスの課題に直面している場合は、最も要求の厳しい1つのコンポーネントに対応するためだけにアプリケーション全体をスケールアップする必要が生じる可能性があります。このアプローチでは、かなりのコンピューティングが無駄になります。
アプリケーションをマイクロサービス・アーキテクチャーにモダナイズすることで、コンポーネントはより小さくなり、疎結合になり、互いに独立してデプロイおよびスケーリングできるようになります。独自の課題はありますが、このアプローチにはモダナイゼーションのコア価値の多くが見出せます。
アプリケーションのモダナイゼーション・プロジェクトを開始する上で最も重要なのは、アプリケーションを評価することです。現在所有しているアプリケーションの一覧を作成することは、このようなトランスフォーメーションに着手する第一歩として重要です。
一覧を作成したら、すべてのアプリケーションを「難易度」と「モダナイズした場合の潜在的な価値の増加」をx、y軸にプロットすることができます。また、「潜在的な価値」とは、アプリケーションが顧客体験や組織の将来にとってどれほど重要であるかという観点で捉えることができます。
このグリッドの右上、つまり「高価値かつ低労力」に該当するアプリケーションは、アプリケーションのモダナイゼーション・プロジェクトを開始する理由となることに疑いの余地はないでしょう。
最も難しい決定は、移行が難しい高価値アプリケーションに関するものです。こうしたアプリケーションでは、初日からオール・オア・ナッシング戦略を取る必要もありません。このような場合、リスクとコストを削減しながらポートフォリオを正しい方向に進めることができるアプリケーションのモダナイゼーションのためのアプローチがあります。
アプリケーションのモダナイゼーションには、プラットフォーム、アプリケーションのアーキテクチャー、API経由でのアプリケーションの機能の公開の組み合わせに重点を置いた、よく知られたアプローチがいくつかあります。
アプリケーションのモダナイゼーションで最も一般的なアプローチは、モノリシック・アプリケーションをリファクタリングして、疎結合された小さなマイクロサービスのコレクションに分割するものです。
上記のマイクロサービス・アーキテクチャーの例では、小売アプリケーションが単一のn層アプリケーションから、アプリケーション内のすべての個別のサービス(それぞれにデータベースとデータ・モデルがある)のマイクロサービスのコレクションに分割されました。
この分野での1つのアプローチは、「ストラングラー・パターン」として知られています。ストラングラー・パターンでは、モノリスを一度にすべて分解するのではなく、アプリケーションを少しずつ分解し、最初に最も簡単で価値のある部分を取り出します。このアプローチが進むにつれて、最終的にモノリスは何も残りません。
多くの場合、マイクロサービスへのリファクタリング、アプリケーションの再プラットフォーム化、または再ホスティングは、モダナイゼーション・プロセスの一部です。大幅な書き換えを行わずにアプリケーションを単にリフト・アンド・シフトすることは可能ですが、多くの場合、コンテナとKubernetesを活用して、クラウド・モデルをより有効に活用できるようにアプリケーションを再構築することに価値があります。(クラウド移行の詳細については、こちらをご覧ください。)
アプリケーションのモダナイゼーションを支えるテクノロジーは多岐にわたります。
パブリッククラウドはモダナイゼーションの不可欠な要素ですが、プライベートクラウド戦略、ハイブリッドクラウド戦略、マルチクラウド戦略も、セキュリティー、レイテンシー、アーキテクチャーの観点から非常に重要です。
さまざまな理由から、組織はデータセンターからパブリッククラウドに直接移行する準備ができていない場合があります。他のクラウド・モデルは、特定のワークロードの固有の特性に基づいて、そのワークロードを配置する場所と関連したアーキテクチャーとポリシーの複雑さをすべて解決するのに役立ちます。
Instanaは、包括的なモニタリングと実行可能な洞察を提供することで、クラウド移行作業を簡素化します。
生成AIを活用すれば、メインフレーム・アプリケーションのモダナイゼーションを加速し、簡素化できます。
ハイブリッドクラウドを利用して、AI駆動型のモダナイゼーション・サービスと戦略のもとで、レガシー・アプリケーションを最適化します。