レガシーシステムのITモダナイゼーションやDXを進める多くの場合に、アプリケーションのクラウド化を検討しますが、その戦略を考える上で代表的な手法が5つあります。
Gartnerが提唱したものが基になっていますが、人によってその言葉の表現方法が違ったり、AmazonのAWSなどは、移行しない戦略 (RETAIN)も含めて6つをあげているものもあります。
■アプリケーションのクラウド移行5つの戦略
- ① Rehost(リホスト)
- ② Refactor(リファクタリング)
- ③ Revise(改訂)
- ④ Rebuild(再構築)
- ⑤ Replace(置換)
①Rehost(リホスト)は、Lift and Shift(リフト アンド シフト)と呼ばれることもあり、アプリケーションを変更せずオンプレミス環境から主にIaasのクラウドへそのまま移行します。これは、移行のための労力が少ないメリットが大きいですが、分散ワークロードのようにクラウドネイティブなアプリケーションの良さを享受できないことや、パフォーマンス低下のリスクもあります。
②Refactor(リファクタリング)は、Rearchitect (リアーキテクト)と呼ばれることもあり、アプリケーションを主にPaasへ移行し、クラウドベースのツールなども使用してクラウド環境により適したものに再設計し、開発方法の変更をします。既存のソフトウェアまたはコードベースの大部分を変更するため、開発スピード、スケーラビリティ、パフォーマンスやセキュリティの向上など、クラウドネイティブの良さを得られる可能性が高いですが、それだけにコストも、移行のための労力も増大してしまいます。また、アプリケーションを独立したサービスに分割し、マイクロサービスのアーキテクチャに移行することも含まれます。
③Revise(改訂)は、Replatform(リプラットフォーム)と呼ばれることもあり、アプリケーションの核となるアーキテクチャを変更せずに、移行する前にあまり大がかりではないコードの変更を行い、クラウドネイティブの利点を得られるよう、アプリケーションをクラウド環境にいくつかの点で最適化して移行できます。
④Rebuild(再構築)は、Recreate(再作成)と呼ばれることもあり、アプリケーションをクラウド環境に合わせ最初から作り直します。基本的には新しいバージョンや別のソリューションへの移行する場合の決定ですが、使用していた既存のアプリケーションの良さを認めている場合、クラウド環境でも稼働可能な同じソリューションをすべて再構築する場合もあります。
⑤Replace(置換)は、Repurchasing(再購入)と呼ばれることもあり、現行のアプリケーションの使用を止め、新しいクラウドネイティブなアプリケーションに置き換えます。 この場合は、既存の業務システムを捨て、CRMなどクラウドサービスを利用する場合などが当てはまります。
同じ会社や組織であっても、使用している業務によってアプリケーションは違うため、個々に最適なクラウド移行ができるように、それぞれの戦略におけるメリットとデメリットを理解して、適切な手法を選択し実践することが重要です。
アプリケーションのクラウド化は適切な戦略を選択すべき