マイグレーション
古いシステムを現代のシステムでも使えるようにする手段の1つとして、「マイグレーション」が挙げられます。しかし、マイグレーションへの知識がなく、「マイグレーションの意味や種類など基本的な情報を知りたい」「マイグレーションを行うメリットを知りたい」という方も多いのではないでしょうか?
今回はそういった方へ向けて、マイグレーションの概要と、マイグレーションを行う方法やメリットについて詳しく解説していきます。また、マイグレーションを行う必要性やマイグレーションを行う際の注意点についても解説しています。
目次
マイグレーションとは
マイグレーションとは、アプリケーションやシステム、データを別の環境に移行することを言います。アプリケーションの機能変更や、古くなった機器の変更など情報システムの一部変更ではなく、新しい環境に全てを入れ替えることを言います。
特に、長年運用してきた古いシステム(レガシーシステム)を最新の環境に移行することを「レガシーマイグレーション」と言い、最近では「レガシーマイグレーション」のことを「マイグレーション」と言うことが一般的になっています。
マイグレーションが重要視されている背景には「2025年の崖」がある
「2025年の崖」とは、デジタル・トランスフォーメーションが実現されない場合に、2025年以降に莫大な経済損失が生じることを指す言葉です。経済産業省が2018年に公表した「DXレポート ~ITシステム「2025年の崖」克服とDXの本格的な展開~」では、最大12兆円/年(現在の約3倍)の経済損失が生じる可能性があると指摘されています。
この「2025年の崖」とマイグレーションには密接な関係があり、マイグレーションを行わない企業は損失を被ることが予想されます。
マイグレーションを行わない場合に発生するネガティブな事態は、以下の通りです。
- メインフレームの担い手の退職・高齢化
- レガシーシステムの維持コストの高額化
- クラウドベースのシステム開発に乗り遅れる
メインフレームの管理をできる人材がいなくなることで、既存システムがブラックボックス化していきます。システムの維持管理が難しくなり、コストが大幅に増大するでしょう。また、オープン化しないことによって新システムとの連携が難しくなります。世界のサービス開発の競争に取り残されてしまう事態は免れません。
マイグレーションを行うメリット
一方、マイグレーションを行うことで、多くのメリットを享受することができます。マイグレーションを行うことによって得られるメリットは、主に以下の3つです。
今の資産を有効的に使える
マイグレーションを行うことで、現在あるIT資産を有効活用することができます。なぜなら、マイグレーションによって新環境に移行しても、現行のシステムをそのまま利用することができるからです。使い慣れたシステムを使い勝手はそのままに新環境に移行できるため、改めて社員教育などを行う必要はありません。
新しい技術導入が簡単にできる
マイグレーションを行うことで、新しい技術導入が簡単にできるようになります。なぜなら、マイグレーションによって最新環境に移行されるため、最新のハードウェア・ソフトウェアが利用可能となるからです。新技術の導入により「管理が簡便になる」「セキュリティが強化される」などのメリットが得られるでしょう。
コストを下げれる
マイグレーションを選択することによって、移行コストが下がる可能性があります。なぜなら、マイグレーションでは現行のソースコードを基にしているため、システム再構築に必要な手間がかからないからです。また、新しい環境下では運用コストが下がる可能性が高いため、長期的な目線で考えてもコストを下げることができるでしょう。
マイグレーションの手法
マイグレーションの手法としては、大きく3つあります。
リエンジニアリング
- 現行業務の流れやシステムを抜本的に見直し、新しいプラットフォーム上にシステムを再構築すること
- 費用と期間は掛かりますが、最新の技術を使った新たなシステムを構築することで、新たなビジネスに柔軟なシステムを構築すること
リライト
- 現行機能はそのままで、COBOLなど旧式の言語をJavaなどの新しい言語に置き換え、新しいプラットフォーム上にシステムを移行すること
- リエンジニアリングほどの費用と期間を掛けることなく、マイグレーションを実施できますが、新たなビジネスへの柔軟性はリエンジニアリングほどではありません
リホスト
- サーバ、OS、ミドルウェアなどのインフラを見直し、新しいプラットフォーム上で現行システムを動作させること
- 費用、期間とも抑えることはできますが、新たなビジネスに対する柔軟性はあまりなく、どちらかと言えば現行システムの延命措置と言えます
各々の手法によりマイグレーションに係る費用と期間が異なりますので、各企業、対象システムが置かれている立場を十分に踏まえて、その手法を決定する必要があります。また、システムのマイグレーション時に忘れてはならないのが、現行システムに保有しているデータを新しい環境へ移行する「データマイグレーション」(データ移行)です。
このデータマイグレーションに係る工数はマイグレーション全体工数の35~40%を占めており、約80%が移行トラブルを経験していると言われています。リエンジニアリングの場合は、新たにシステムを構築するのですから、データ構造の変換や文字コードの変換など、現行システムのデータを新システムのフォーマットに変換するデータマイグレーションが必要になることはすぐに理解できます。
では、リライトやリホストのように、現行システムの機能を踏襲する場合は、データマイグレーションは単純な作業で済むかというと、意外とそうではありません。アプリケーションの機能はそのままでも、データベースが異なるため単純な移行はできず、データマイグレーションの仕組みが必要になる場合などがあります。
マイグレーションの意外な落とし穴
マイグレーションの意外な落とし穴は、このデータマイグレーションにあります。せっかくシステムのマイグレーションを行ったのに、「データマイグレーションが遅れ、システムの本稼働ができない」ことや、時には「システムのマイグレーションを一からやり直さなければならない」ことも発生します。そこで重要なことは、現行システムにあるデータを知る(確認する)ということです。
「約80%が移行トラブルを経験」とありますが、その多くは「データ確認」という工程を行わずに、現行システムのドキュメント(テーブル仕様)を基に移行を行った結果、想定外のデータが発生しトラブルへと繋がっています。これは長年の運用によりシステム改修を行っているが、ドキュメントが変更されていないことに起因します。
まずは、現行システムのデータを確認し、ドキュメント(テーブル仕様)を最新化した後、移行仕様を決定することで、移行トラブルを防ぐことが可能となります。弊社では、このデータ確認を短期間で実現する「データ整備サービス」を展開していますので詳しくはホームページをご覧ください。