メインフレームのモダナイゼーションでは何が起こるのか、Googleがアンチパターンを解説リフト&シフトは万能ではない

Googleは公式ブログで、メインフレームのワークロードを移行する際に考慮すべき一般的な落とし穴やアンチパターンを解説した。「ビッグバンアプローチ」「リフト&シフト」「インプレースモダナイゼーション」のそれぞれに落とし穴がある。

» 2021年03月05日 16時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Googleは2021年2月25日(米国時間)に公式ブログで、メインフレームワークロードの移行時に考慮すべき一般的な落とし穴やアンチパターンを解説した。つまり、移行に失敗する際によくある間違った解決策を紹介している。

 Googleは、「メインフレームワークロードの移行やモダナイズは、理想的な条件下でも複雑で困難だ。今回挙げたアンチパターンを回避すれば、こうした変革が成功する可能性が高まる」と述べている。

 このアンチパターンはメインフレームワークロードを「Google Cloud」やオンプレミス仮想マシン、他のクラウドプロバイダーのいずれに移行する場合も有効だという。

 メインフレームワークロードの移行時に選択できる手法は3つある。「ビッグバンアプローチによるコード書き換え」「リフト&シフトによる移行」「インプレースモダナイゼーション」だ。それぞれのアンチパターンとはどのようなものなのだろうか。

(1)ビッグバンアプローチによるコード書き換えはコスト高で危険

 ビッグバンアプローチによるコード書き換えとは、レガシーなメインフレームのコードを、モダンな設計パターンとモダンな言語を用いて手動で書き換え、リアーキテクトすることだ。

 例えば、レガシーなCOBOLプログラムの集合体からビジネスロジックを複製して、新しいJavaアプリケーションを開発するといった手法だ。新しいプログラミング言語と新しいドキュメントを使って作成された、新しいプラットフォームに対応した新しいコードベースが、開発チームに求められる成果だ。

 ビッグバンアプローチは今回取り上げた3つの手法の中で、最も大規模な資本と時間の投入が必要になる。リエンジニアリングを行い、ビジネスロジックを改善したいという誘惑に抵抗できず、この道を選んでしまう組織が多い。

リエンジニアリングの難しさ

 モダンな技術や設計パターン、最新のベストプラクティスを使ってシステムのリエンジニアリングを行えば、将来にわたってイノベーションを行うことが可能になる。組織が蓄積してきた知識も継承される。

 このシナリオは魅力的であり、IT意思決定者から承認を取り付けやすい。このアプローチは合理的に思えるものの、開発チームが当初は認識しない、隠れた落とし穴やリスクがある。予算超過や予想外の複雑さ、スタッフの入れ替わりのようなリスクにより、大規模な書き換えが難航し、メリットがなかなか得られない恐れがある。

 ビッグバンアプローチによるコード書き換えは、ステークホルダーに提示された最良のケースのシナリオ通りに進むことはめったにない。多くの場合、失敗してしまう。

コストが膨らみ、破綻する恐れ

 プロトタイプを素早く開発し、元々のコードと同じように機能させることは難しい。だが、ほとんどの開発チームは問題を過小評価してしまう。さらにこの取り組みはすぐには終わらず、必ずといっていいほど長期化する。

 ビッグバンアプローチによるコード書き換えでは、「新しいコードを以前のコードと全く同じように機能させる」か、「新しいコードに以前のコードとは異なるビジネスロジックを実装し、リエンジニアリングを行う」という2つの選択肢がある。

 最初の選択肢を取り、新システムで以前の機能を忠実に再現しようとすると、常に作業時間が想定よりもかさんでしまう。古いコードを理解して元々の仕様通りの動作を実現するには、多大なエンジニアリングの労力を要するからだ。

 後者の選択肢を取り、新しいコードでビジネスロジックを変更すると、以前のビジネスロジックに依存していたビジネスプロセスや下流システムに変更を加える必要が生じる。しかも、そうして変更を加えると連鎖反応が起き、下流システムでますます変更が必要になり、リスクが増大するとともに、書き換え作業が長引く恐れがある。

 本番運用している現行のメインフレームシステムに対して、コードの書き換え中も継続的に保守や更新を行う必要がある場合は、問題がさらに複雑化する。開発中の新システムと現行システムの間で、新機能の調整が必要になり、しかもその作業は、コードを書き換える過程で多発するからだ。それに伴ってプロジェクトは長期化し、失敗する可能性が高まってしまう。

 メインフレームソフトウェアをモダナイズする方法を比較した結果として、Googleは「ビッグバンアプローチによるコード書き換えは、最も高コストだ」と述べている。リスクや予想外のコスト、遅延を考慮すると、ROI(投資対効果)に対して納得感がかなり低くなるかもしれない。

(2)リフト&シフトによる移行は安全だがメリットは少ない

 リフト&シフトによる移行は、アプリケーションをあるシステムから別のシステムに、最小限の変更とダウンタイムで移行する確立された方法だ。コモディティハードウェアで動作する仮想マシンを、パブリッククラウド上の仮想マシンに移行するために広く使われている。メインフレームの移行でも同様のアプローチが可能だ。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。