こんにちは。新規事業の開発や既存業務の効率化などに使える補助金・助成金の無料診断 / 申請支援を行う『補助金サポート』を提供しているクラウド軍師運営チームです。

英語では「移行」と訳される単語であるマイグレーション(migration)。これは、IT関連では別の意味を持つ言葉として使われます。

では、IT用語のマイグレーションとはどのようなことを指すのでしょうか。
今回は、意味や種類、手法など、マイグレーションについて詳しく解説します。

マイグレーションとは

マイグレーション(migration)とは、もともと「移行」「移住」などといった意味を持つ英単語です。
これをもとに、IT用語としては次のような意味で用いられます。

ITにおけるマイグレーションとは

現行のシステムやソフトウェア、または蓄積データを新しい環境へと移行させること
部分的に装置などを交換するのではなく、既存のシステム基盤全体を新しい環境へ入れ替えること

システムやソフトウェアは、日々進化を遂げ機能も向上してきています。
そんな中、古いものから新しいものへとマイグレーションを行うことは、より良い環境での作業を実現するために重要です。新しい環境に移ることによって、より良い機能のシステムやソフトウェアを使うことが可能になるためです。

移行した新環境では、古いシステムを使い続けた場合に比べ、より効率的で快適に作業を行えるようになります。
例えば、それまで使っていたデータベースを別のものに移行したり、既存のオンプレミスシステムをクラウドシステムへと移行したりといったことが、マイグレーションにあたります。

マイグレーションに似たIT用語との違い

マイグレーションには、混同されやすい用語がいくつかあります。その代表的なものが、「リプレイス」と「コンバージョン」です。
ここでは、これらの用語との意味の違いについてご説明します。

リプレイスとの違い

リプレイスとは、「交換」「置換」などの意味を持つ英単語です。このことから、この言葉はIT用語として次のような意味を持ちます。

リプレイス(replace)とは

システムを運用するための機器を新しいものに置き換えること
老朽化したり壊れたりしたハードウェアやソフトウェアを別のものに入れ替えること

リプレイスとマイグレーションの違いは、「基盤を入れ替えるかどうか」という点にあります。
リプレイスでは基盤は入れ替えず、古くなったり壊れたりした部分だけを入れ替えて、元のままの環境を維持します。
一方のマイグレーションでは、システムの基盤も別のものに変え、環境自体を移行させます。

コンバージョンとの違い

コンバージョンとは、「変更」「変換」などの意味を持つ英単語です。このことから、この言葉はIT用語として次のような意味を持ちます。

コンバージョンとは

データファイルを別の形式に変換すること
システムを別の設計のものに入れ替える手法のこと
コンバートとも言う

コンバージョンの例としては、ファイル形式の変換や文字コードの変換などが挙げられます。
マイグレーションがシステムを新しい環境へ移行させることを指すのに対し、コンバージョンはシステムを同じ内容のまま別の形式のものへと入れ替えることを指すという点で、これらの用語の意味は異なります。

マイグレーションの主な種類

マイグレーションは、複数に種類分けされています。その主要なものが、「レガシーマイグレーション」「データマイグレーション」「仮想マシンのマイグレーション」の3つ。
それぞれの意味を確認していきましょう。

【レガシーマイグレーション】
レガシーシステムを新式のシステム環境へと置き換えること
レガシーシステムとは、古い製品や設計思想を基に作られた旧式のシステムのことを指す
【データマイグレーション】
異なる機器やソフトウェア、形式間で、データを移動させること
データ移行とも言う
記憶媒体を移すケースと形式を変換するケースがある
【仮想マシンのマイグレーション】
仮想マシン(物理コンピュータ内に構築された仮想のコンピュータ)を異なる物理コンピュータに移すこと
仮想マシンの実行状況を、移行先の物理コンピュータにデータとして送ることで実現する

このように、移行の対象によってマイグレーションは種類分けされています。
また、これらの種類によって、マイグレーションの実行手法は異なります。

マイグレーションの手法

マイグレーションの実行にはいくつかの手法があり、移行内容・目的に応じて最適な手法は異なります。
ここでは、主要な手法である「リホスト(リホスティング)」「リライト(リライティング)」「リビルド」についてご紹介し、さらにその他の手法についても触れていきます。

リホスト(リホスティング)

リホスト(リホスティング)とは、既存システムの言語やアルゴリズムは変更せず、プラットフォームだけを移行させる手法を指します。これは、インフラ刷新とも呼ばれるものです。
一般的な例としては、システムをそのままクラウドへと移すケースが挙げられます。

この手法の特徴は、既存のプログラムを引き継ぐことによる移行の行いやすさ。作業を行うユーザーへの負担は軽くなります。
しかし一方で、既存プログラムに含まれていた問題を引き継いでしまうというリスクも生じます。

リライト(リライティング)

リライト(リライティング)とは、既存プログラムのアルゴリズムはそのままに、システムを新しいプラットフォームおよび言語へと移行させる手法を指します。

この手法によりプラットフォームと言語を新しくすれば、活用できる技術の幅は広がります。
その一方で、既存プログラムのアルゴリズムの問題をシステムが引き継いでしまうリスクは生じます。

リビルド

システムを一から再構築する手法を、リビルドと呼びます。この手法では、先にご紹介した2つの手法と異なり、既存システムを流用することはありません。
この手段には、スクラッチ開発やパッケージ開発があります。

既存システムの問題を引き継ぐリスクがない点がこの手法のメリット。これまで実現できなかった機能を入れ込むことも可能です。
ただし、手間や技術、コストはかなり嵩みます。

その他

マイグレーションの手法には、他にも種類があります。
例えば、プログラムを解析して修正や更新を実行しやすいものへと改善を行う「リファクタリング」や既存のメインフレームを活用し外部のオープンシステムからのアクセスを可能にする「ラッピング」、既存システムを破棄しSaaSに移行する「SaaS移行」なども、それぞれ手法のひとつにあります。

マイグレーションの作業工程

最後に、マイグレーションの作業工程を確認しておきましょう。
作業は、「①移行性検証」「②検証・分析」「③変換ツール設計」「④テスト」「⑤リハーサル・本移行・評価」という5つの工程で行われます。
各工程の作業をご紹介します。

①移行性検証

まずは、システムの移行性を検証するために、次のような作業を行います。

・現状業務の洗い出し
・既存資産の洗い出し
・移行対象の選定
・マイグレーション手法の選定
・移行による効果予測

この段階では、「何が存在し、何が必要か」という現状把握が重要になります。

②検証・分析

次に、検証・分析作業に入っていきます。

・移行システムの検証、選定
・運用書作成
・プロトタイプのシステムや環境準備

どのシステムに移行するか決め、プロトタイプの準備も始めます。

③変換ツール設計

次に、①②の作業に基づき、ツールの選定や設計を進めます。

・変換ツールの選定
・設計書作成
・変換ツールの設計カスタマイズ
・検証ツールの設計、開発

変換および検証ツールを選定し、そのカスタマイズも実行します。

④テスト

データクレンジングとテストを実施し、設計の適正を確認します。

・データクレンジング
・リソース変換
・テストの計画、準備
・動作テスト、結合テストなどの実施と評価

複数種のテストにより、移行の適正や問題を確認します。

⑤リハーサル・本移行・評価

リハーサルによって正確性を再確認してから、本移行を行います。

・移行のリハーサル、検証
・本移行の実施
・移行後の検証、評価

移行後は検証を実施し、評価に応じた対応を行います。

まとめ

マイグレーションは、より良い作業環境を構築し、レガシーシステムの問題を解決するのに有効な方法です。現在レガシーシステムを利用している企業は特に、あらゆるリスクに備えるためにも、マイグレーションを検討すべきでしょう。

ただし、マイグレーションの実行には綿密な計画と適切な分析、多くの作業が必要です。
最適な手法やツールでマイグレーションを実現できるよう、実行前の検証や分析にも力を入れるようにしてください。