マイグレーションとは? 種類・手法、マイグレーション方法選択のポイントについて解説

従来のオンプレミスで運用していたサーバーやネットワーク機器などの老朽化やサポート終了を契機に、クラウドへマイグレーションを行う企業が増えています。マイグレーションとは、既存システムを別の環境に移転・移行することを指します。マイグレーションにはさまざまなやり方があるため、目的や要件に合わせて最適な方法を選択することが重要です。本記事では、マイグレーションの必要性を踏まえた上で、マイグレーションの手法と選択時のポイントについて解説します。

マイグレーションとは

マイグレーションは、自社で構築したシステムを運用していく中で、必ず直面する課題といえます。まず、マイグレーションとはどのようなものなのか、概要と必要性について解説します。

マイグレーションの概要

マイグレーション(Migration)とは、もともと移住・移転を意味し、システムの世界では、既存システムを構成するハードウェアやソフトウェア、データを新しい環境やバージョンへ移行するという意味で使われます。昨今では既存のオンプレミス環境からクラウドサービスへの移行が主流となっていますが、企業のポリシーやシステムの用途や条件によってはパブリッククラウドへのマイグレーションではなく、プライベートクラウドやオンプレミスへのマイグレーションを行うケースもあります。

マイグレーションの動機と必要性

マイグレーションは下記のようなタイミング・場面で必要となります。

  • ハードウェアの老朽化やサポート終了
  • ソフトウェア(OS・ミドルウェア)のサポート終了
  • システムの拡張限界や性能劣化
  • 旧技術の有識者確保の困難化

マイグレーションは、このようにさまざまな動機・タイミングで必要となります。サポート終了を迎えたハードウェアやソフトウェアを継続利用すると、障害や不具合のリスクだけでなく、セキュリティの脆弱性のアップデートも行われないため、セキュリティリスクを抱えたまま運用することになり非常に危険です。また、システムの拡張も難しくなるため、利用者やビジネス規模の拡大に伴って性能劣化を引き起こす可能性がある他、古い技術を使用している場合は、対応できる有識者の確保も難しくなるといった問題もあります。このように、さまざまな理由でマイグレーションは必要となります。

マイグレーションの種類

マイグレーションにはどのような方法があるのでしょうか。一般的に、マイグレーションには下記の種類があると言われています。

  • リホスト(Rehost)
  • リライト(Rewrite)
  • リビルド(Rebuild)

リホスト(Rehost)

リホストの概要

リホストとは、アプリケーションは既存システムと同じ言語を使用し、原則そのままの形で新規のプラットフォームへ移行する方法です。サーバーやネットワーク機器、ストレージなどのプラットフォームを新しいものに替え、アプリケーションのアーキテクチャやソースコードは極力変更せずに新プラットフォームへ移行します。
オンプレミスで稼働しているシステムをクラウドへ移行する際、既存のアプリケーションに手を加えずにプラットフォームをIaaSへ変更して移行する、いわゆる「クラウド・リフト」もリホストに分類することができます。

リホストの特徴

リホストは、既存システムのアプリケーションを原則流用し、ほとんど手を加えないため、アーキテクチャの変更やソースコードの修正にかかるコストを最小限に抑え、アプリケーションの保守性も既存と変わらないという点が大きな特徴です。プラットフォームをクラウド(IaaS)や、低コストのハードウェアに変更することでシステム全体のコスト削減効果も期待できます。

リライト(Rewrite)

リライトの概要

リライトとは、既存システムのアプリケーションをベースに、プログラムを新しく書き換え、新規のプラットフォームへ移行する(実装し直す)方法です。サーバーなどのプラットフォームは新しいものに替え、アプリケーションのアーキテクチャは原則現行踏襲とし、ソースコードを別の言語で書き直して再コンパイルを行うことで新プラットフォームへ移行します。ソースコードは書き換えになりますが、一般的にソースコードの変換ツールなどを使用することで書き換えに伴うコストを抑えます。

リライトの特徴

リライトは、プラットフォームを新しいものに変更するという点はリホストと同様です。しかし、アプリケーションについては、アーキテクチャは原則変更せずに言語を別のものに変更します。リライトは、メインフレーム上のCOBOL資産など、いわゆるレガシーとされるシステムをUNIX/Linuxなどに置き換える「レガシーマイグレーション」で採用されることが多い手法です。アーキテクチャは変わらないため、アプリケーションの保守性は現行とほぼ同等となりますが、オープン系技術との親和性を高めることができます。一般的には、メインフレームを最終的にクラウドへリフトする前段階の構成として採用されます。

リビルド(Rebuild)

リビルドの概要

リビルドとは、既存システムの要件定義書や概要設計書を基に、改めてアーキテクチャやプログラム設計からやり直し、システムを再構築する方法です。事実上、アプリケーションを一から作り替えることになります。
オンプレミスで稼働しているシステムをクラウドへ移行する際、既存のアプリケーションをクラウドのアーキテクチャに最適化した形に作り替える、いわゆる「クラウド・シフト」もリビルドに分類することができます。

リビルドの特徴

リビルドは、事実上アプリケーションを作り替えることになるため、その分大きなコストがかかることになります。しかし、最新の技術やアーキテクチャを取り入れ、システムにとって最適なものに変更することができるというメリットがあります。サーバーレスなど、クラウドならではの技術を採用したシステムに作り直して運用保守のコストを削減することで、トータルコストを下げることも不可能ではありません。

マイグレーション方法選択時のポイント

マイグレーションには前述したように大きく分けて3つの方法がありますが、どのように選択すればよいのでしょうか。マイグレーション方法を選択する際のポイントは下記の通りです。

目的と要件を明確化する

マイグレーションの検討を行う際は、マイグレーションを行う動機と目的を明確化し、目的に合わせたマイグレーション方法を選択することが重要です。例えば、オンプレミスで問題なく稼働しているシステムに対して、ハードウェアのサポート切れに伴ってマイグレーションを行うのであれば、コストや作り替えに伴うリスクを抑えられるリホストが選択肢となるかもしれません。メインフレームのCOBOL資産を最終的にクラウドに移行したいのであれば、オープン系のアーキテクチャに合った言語に書き換えるリライトが候補となるかもしれません。

システムの要件を確認する

マイグレーション実施に伴い、システムを停止できるか、停止できる場合はどれくらいの期間を停止できるかどうかも重要です。どの手法の場合も、既存システムと並行して新規システムを用意し、切り替えることでほぼ無停止で移行が可能なケースがあります。しかし、データの同期などの面から、どうしてもシステムの停止が必要となるケースもあります。サービスをどの程度停められるかによって、移行の計画や設計にも大きな影響を与えるため、システムの特性・用件に応じた検討が必要となります。

まとめ

自社でシステムを運用する場合、マイグレーションは避けては通れない課題となります。マイグレーションには複数の方式があるため、企業やシステムの状況・状態に合わせて最適なマイグレーション方法を選択することが重要です。

ベアケアでは、既存システムのシステムイメージをベアメタルクラウドへ移行(リホスト)するサービスを提供しています。ハードウェアの維持・メンテナンスの手間がなくなり、安心して移行できるメリットがありますので、ぜひお気軽にご相談ください。

この記事をシェアする

ベアケアブログは、システムとその基盤となるITインフラのセキュリティリスクの軽減・安定稼働を支援するための情報をお届けします

タグ一覧