ITシステムは、ビジネスの根幹を支える存在となりました。しかし、長らく使い続けてきたITシステムを今後も維持できるのか、不安を抱える企業は多いでしょう。
IT社会を迎えて久しい日本は、今やAI時代へと進みつつあります。テクノロジーと共に発展を続ける昨今のビジネスにおいて、IT基盤は生命線といえます。
企業がIT基盤を失わないために、重要となるのが「マイグレーション」です。この記事では、マイグレーションとは何か、基本からわかりやすくお伝えします。
- もくじ
1.マイグレーション(Migration)とは?
最初に、マイグレーション(Migration)の概要について解説します。類似用語との違いについても整理しておきましょう。
1-1 マイグレーションとは
英語のMigrationには「移行」「移転」といった意味があります。つまりシステム開発の分野におけるマイグレーションとは、既存のITシステム全体、あるいは構成要素を別の新たな環境に移行することです。日本では「マイグレ」と略されることもあります。
マイグレーションは環境の移行であり、ITシステムの根本的な機能や役割を変えるわけではありません。既存システムが提供していた業務要件を保ちつつ、古い環境からの脱却を図ることが大きな目的です。
1-2 マイグレーションの種類
マイグレーションと一口にいっても、何を移行するかによって種類はさまざまです。マイグレーションの主な種類は下表のとおりです。
種類 | 概要 |
---|---|
データ移行 | 既存システムが管理するデータを、新しい環境へ移動する。格納場所に加えて、データ形式が変わる場合もある。 |
ストレージ移行 | 既存システムのストレージが担う役割を、新しいストレージに担わせる。通常、データ移行も伴う。 |
データベース移行 | 既存システムのデータベース管理システム(DBMS)が担う役割を、別のDBMSへ担わせる。通常、データ移行も伴う。 |
サーバー移行 | 既存システムのサーバーが担う役割を、新しいサーバーに担わせる。ハードウェアだけでなくOSが変わる場合もある。 |
クラウド移行 | サーバー移行の一形態。オンプレミス(自社運用)のサーバーを、外部サービスのクラウドサーバーへ移行する。 |
アプリケーション移行 | アプリケーションの開発言語や動作環境などを、新しいものに移行する。プログラムの更新を伴う場合もある。 |
1つの構成要素を移行する際に、別の構成要素も移行しないと整合性が取れないケースがあるため、複数種類のマイグレーションが必要となるケースも少なくありません。
どの構成要素を移行するかによって、マイグレーションの規模は大きく変わります。
1-3 コンバージョン(Conversion)との違い
マイグレーションと混同しやすいのが「コンバージョン(Conversion)」です。
コンバージョンは「変換」という意味で、データやファイルを別の形式に変換することです。たとえば、「Shift_JIS」の文字列データを「UTF-8」に変換する場合、「文字コードをShift_JISからUTF-8にコンバージョン(コンバート)する」と表現できます。
マイグレーションは「古いものから新しくする」のに対し、コンバージョンは「異なるものに変える」のが大きな違いです。ただし、マイグレーションの過程でコンバージョンが必要となるケースもあります。たとえば、「MySQL」のデータベースを「PostgreSQL」へ移行する際に、データのコンバージョンが必要です。
1-4 リプレース(replace)との違い
「リプレース(replace)」も、マイグレーションと混同しやすいワードです。
リプレースは「交換する」という意味で、既存のITシステムや、その構成要素を同等の基盤へと移すことです。主に老朽化したり、故障・破損したりした機器の入れ替えを指します。
マイグレーションと比べて異なるのは、「既存のものと同等」であることです。マイグレーションのように、開発言語やプラットフォームなどは変更しません。物理的に使えなくなったケースであればリプレースで対応可能ですが、サポート切れなどで旧式のシステムを最新版に移行する場合はマイグレーションが必要となります。
2.マイグレーションを実施することの重要性
マイグレーションは、昨今の日本企業にとって重要性の高い取り組みです。ここでは、マイグレーションを実施することの重要性についてお伝えします。
2-1 レガシーシステムから脱却するためのカギ
経済産業省が2018年に公開した『DXレポート ~ITシステム「2025年の崖」克服とDXの本格的な展開~』(以下、DXレポート)では、「レガシーシステム問題」について指摘されています。このレガシーシステム問題の解決策となるのがマイグレーションです。
レガシーシステムとは、端的にいうと古くなりすぎたITシステムを指します。特に、長年使われてきたオンプレミス(自社運用)の基幹システムを指すケースが多いです。
詳細は後述しますが、レガシーシステムには技術面の老朽化、システムの肥大化・複雑化、ブラックボックス化といった種々の問題があります。マイグレーションによる新しい環境への移行は、レガシーシステムが抱える問題を解決するカギとなるでしょう。
2-2 レガシーシステムは「2025年の崖」の要因に
DX(デジタルによるビジネスの変革)の実現を促すDXレポートは、「2025年の崖」についても問題提起しています。2025年の崖とは、企業がDXの実現を妨げる障壁を取り除けなかった場合、2025年以降に最大12兆円の損失が生じる懸念のことです。
DXの実現を妨げる大きな障壁の1つが、レガシーシステムです。DXレポートのデータによれば、日本企業の約8割がレガシーシステムを保有し、約7割が「DXの足かせと感じる」と回答しています。つまり、日本企業がDXの実現により2025の崖を防ぐためには、レガシーシステムからの脱却につながるマイグレーションが重要です。
3.マイグレーションを実施するメリット
マイグレーションによりレガシーシステムから脱却することで、具体的に得られるメリットを知っておきましょう。マイグレーションを実施するメリットは、主に次の4つです。
3-1 ITシステムの故障リスクを低減できる
マイグレーションによって、ITシステムの故障リスクを低減できます。故障の引き金となる老朽化した機器や古くなったソフトウェアを、マイグレーションの過程で刷新できるためです。
一般的に、新しい機器やソフトウェアほど技術的に強化され、機器であれば物理的な耐久性も向上します。新しい構成要素でITシステムを再構築することで故障のリスクが減り、安定稼働につながるでしょう。
3-2 新たなセキュリティリスクに対応できる
マイグレーションによって、新たなセキュリティリスクに対応できます。古くなった機器やソフトウェアが抱える脆弱性(セキュリティ上の弱み)を取り除けるためです。
レガシーシステムには、サポート期間が終了した機器やソフトウェアも少なくありません。
最新の製品に刷新すれば、既存の脆弱性を解消できるだけでなく、新たな脆弱性に対しても迅速にパッチを適用できます。これにより、サイバー攻撃のリスクを減らせるでしょう。
3-3 属人化の解消につながる
マイグレーションは、属人化の解消にもつながります。属人化とは、ある業務が特定の人材にしか務まらなくなる事象のことです。
レガシーシステムは、時間と共に構成やプログラムが複雑化する傾向があります。
しかし、プログラムが変更されてもマニュアルが更新されないケースも珍しくありません。その結果、ブラックボックス化(内部構造が把握できなくなる事象)が生じ、新しい担当者ではメンテナンスが困難になるケースが多いです。
マイグレーションによりITシステムを刷新すれば、こうした現状をリセットできます。新しい技術へ移行する過程で、構成やプログラムの簡素化、マニュアルの整備が可能です。これにより、人員の入れ替えが生じた場合でも運用を維持しやすくなるでしょう。
3-4 ITシステムの性能や利便性を高められる
マイグレーションによって、ITシステムの性能や利便性を高めることが可能です。
たとえば、サーバーやストレージ、データベースなどを上位製品・サービスに変えることで、高速化やデータ容量の増加を図れます。
また、オンプレミス環境からクラウド環境に移行することで、利便性の向上が期待できます。信頼性の高いクラウドサービスを用いた環境であれば、十分な障害対策やセキュリティ対策が施されており、基本的に社外からでも利用可能です。また、リソースの拡充や縮小もしやすいでしょう。
4.マイグレーションを実施する手法
マイグレーションを実施する4つの主な手法を紹介します。それぞれの概要やメリット・デメリットを把握しておきましょう。
4-1 リホスト(Rehost)/リホスティング(Rehosting)
「リホスト(Rehost)/リホスティング(Rehosting)」は、インフラ刷新とも呼びます。
開発言語やプログラムのロジックは変えず、現在のプラットフォームだけを新たなインフラ環境に移行する手法です。アプリケーションの土台だけを移行すればよいため、移行の負荷が少ない手法といえます。
しかし、アプリケーション内にレガシーな要素が残っている場合、そのリスクを取り除くことはできません。コードクローン問題(既存コードのコピーを繰り返すことで品質が低下する問題)などによる将来的なバグのリスクも考えられます。
メリット | デメリット |
---|---|
・移行のコストや期間を抑えやすい | ・アプリケーションの問題は取り除けない |
4-2 リライト(Rewrite)/リライティング(Rewriting)
「リライト(Rewrite)/リライティング(Rewriting)」は、プログラムのロジックを変更せずに、開発言語を新たなものに移行する手法です。たとえば開発言語を「COBOL」から「Java」へ差し替えるケースが挙げられます。業務要件は基本的に既存のものを踏襲しますが、プラットフォームは開発言語にあわせて移行するケースもあります。
開発言語とプラットフォームをモダンなものに移行することで、最新のテクノロジーを利用しやすくなるでしょう。また、古い開発言語が抱えるセキュリティなどのリスクを低減できます。ただし、ロジックに起因するリスクは低減できません。
メリット | デメリット |
---|---|
・開発言語要因のリスクを低減できる ・最新のテクノロジーを利用しやすくなる |
・ロジック要因のリスクは低減できない ・プログラムの修正が発生する |
4-3 リビルド(Rebuild)
「リビルド(Rebuild)」は、既存ITシステムを廃止し、全てを作り直す手法です。システム再構築と呼ばれることもあります。ITシステムにおける全ての構成要素を見直し、アプリケーションやプラットフォームなども刷新します。
既存ITシステムが抱える問題を抜本的に解決できるため、レガシーシステム問題を解決するためには最適な手法の一つです。一方で、対象範囲がITシステム全体となる分、特に多くのコストや期間を要する手法といえます。
メリット | デメリット |
---|---|
・レガシーシステム問題を根本解決できる | ・移行に多くのコストや期間を要する |
4-4 リファクタリング(Refactoring)
「リファクタリング(Refactoring)」は、プログラムの内部構造を見直し、外部から見た振る舞いは変えずにコードの品質を高める手法です。
たとえば冗長な処理の共通化、わかりづらい変数名の見直しなどを行います。プログラムの動作は基本的に変更しません。
コードの可読性や保守性を高めることで修正更新を実施しやすくなり、属人化の防止につながります。既存システムのアーキテクチャやプログラムの仕様には変更を加えないため、コストや期間を抑えやすいでしょう。ただし、プログラムレベルのリスクしか低減できず、効果は限定的となります。
メリット | デメリット |
---|---|
・プログラムレベルのリスクを低減できる ・移行のコストや期間を抑えやすい |
・他手法と比べて効果が限定的 |
5.マイグレーションを実施する際の大まかな流れ
マイグレーションを成功させるためには、正しい手順で進めることが重要となります。
マイグレーションを実施する際の大まかな流れは、次の4ステップです。
ステップ1 方針検討
最初に、どのような方針でマイグレーションを進めていくか検討します。方針を固めるうえでは、現状の業務状況やIT資産、課題の把握が欠かせません。
そのうえで、移行すべきITシステムの構成要素や対象範囲を明確にします。現状の調査・分析を踏まえてスケジュールや人材、予算といった計画も立てましょう。
ステップ2 設計
次に、マイグレーションの方針に沿って設計を行います。導入すべき機器やソフトウェア、技術を選定し、それらの設置・接続・設定方法などを具体化しましょう。
移行の対象範囲が広い場合、小規模な実証実験(PoC)を行うと、費用対効果の判断材料になります。設計やPoCの結果、スケジュールなどが当初の想定と変わる場合は調整が必要です。
ステップ3 移行作業
続いて、設計を踏まえてITシステムの移行作業を実施します。機器の設置や接続、ソフトウェアの導入や設定などを行い、新しい環境を構築しましょう。
ただし移行の対象範囲が広い場合、1度にすべての構成要素を移行しようとすると業務上の影響が大きくなります。そのため、いくつかのフェーズに区切って段階的に進める場合もあります。
ステップ4 テスト
移行作業をひと通り実施した後は、計画・設計どおりに移行できたかをテストします。
業務要件に沿って新たな環境のもとITシステムを利用し、問題がないか確かめましょう。従来の機能が損なわれていないことだけでなく、性能や利便性の面でも検証が必要です。
抜け漏れなく進めるためには、詳細なテストが必要となります。検証段階から、しっかり計画を立てるのがマイグレーションを成功させるポイントです。
6.マイグレーションの失敗事例
従来のITシステムを刷新するマイグレーションは、失敗のリスクも決して低くありません。
ここでは、マイグレーションの失敗事例を2つ紹介します。
6-1 大規模な移行による通常業務への悪影響
さまざまな構成要素を差し替えた結果、本来の機能が損なわれてしまう事例は多々あります。
そうなれば、元々の通常業務への悪影響は避けられません。ITシステム全体を刷新するリビルドのように対象範囲が広い場合、より慎重な検討が求められます。
6-2 不測の事態による予算オーバー
実際に移行作業を行う際、検証段階では見られなかった問題の対応に追われる事例も少なくありません。
結果として追加のリソースが必要となり、予算が大幅にオーバーしてしまいます。
7.マイグレーションを成功させるためのポイント
マイグレーションの成功には、機器やソフトウェア、ネットワークなど、さまざまな専門知識が必要です。
マイグレーションのノウハウを持つ人材がいない状態で進めると、多くの期間を要するばかりか、通常業務への影響も大きくなります。
マイグレーションを成功させるためには、専門家のサポートが不可欠です。専門家から手法や進め方に関する適切なアドバイスを受けることで、マイグレーションの経験がない企業でも成功につなげられるでしょう。
マイグレーションを成功させるうえでは、バルテスのマイグレーション品質向上支援サービスがおすすめです。ソフトウェア品質向上の専門家が、既存ITシステムやニーズに合わせた最適なアドバイスを提供し、企業の品質活動をトータルサポートします。
>https://service.valtes.co.jp/s-test/service/migration-support/
まとめ
マイグレーションとは、既存のITシステム全体、あるいは構成要素を別の新たな環境に移行することです。
故障リスクの低減や属人化の解消など多くのメリットがあり、レガシーシステムから脱却するためのカギでもあります。
ただし、マイグレーションには失敗のリスクもあるため、正しい知識・正しい進め方のもとで実施することが大切です。マイグレーションを実施する際には、今回ご紹介した内容をぜひ参考にしてください。