IT用語「マイグレーション(migration)」の意味・定義とは?リプレイスとの違い
移り変わりが速いIT業界では、情報技術は日々進歩し、新しい技術や開発言語が市場に広がっていきます。そして、古くなってしまった技術や開発言語で作られたシステムやサービスには、様々な問題が発生します。
- 脆弱性が高く、攻撃の対象になりやすい
- 新しいシステムよりも維持にコストがかかる
- 新しいシステムやサービスとの互換性が低い
これらの問題を改善し、時代に合わせたシステムやサービスを運用するためには、多くの企業でマイグレーションが必要になるでしょう。この記事では、マイグレーションの意味やリプレイスとの違い、急増するCOBOLやJavaに関連するマイグレーション案件について説明します。
Contents [hide]
マイグレーションの意味とは?
マイグレーション(migration)とは、本来「移動」や「移住」といった意味を持ち、主にIT用語では、既存のシステムやソフトウェアなどを新しいプラットフォームやシステムに移行することをいいます。
たとえば、企業のコンピューターを買い替えたときや、企業が合併するなどしてシステムを統合したときにマイグレーションが必要となります。
リプレイスとの違い
リプレイスとは、既存の機器やシステムを新品、または同等の機能を持った別のものに入れ替えることです。
マイグレーションとの違いは、入れ替え先が既存のものと同等であって、OSやプラットフォームなどの基盤となる部分までは変更しないという点です。
問題が単にスペック不足や機器の破損の場合は、リプレイスで解決できます。
しかし、長年の間リースで使い続けたサーバーや、10年以上前に構築されたシステムなどは、今まで稼動していたOSや各種アプリケーションがメーカーのサポート終了となり、入手できないこともあります。
また、アップグレードを検討するとしても、販売停止になってしまい最新版のものが手に入らない状況もあるでしょう。
この場合、OSやプラットフォームなども見直して、システム全体をマイグレーションすることをおすすめします。
レガシーマイグレーションとは
レガシーマイグレーションとは、「レガシーシステム」と呼ばれる、時代遅れになってしまったメインフレーム(コンピュータシステム)を、UNIXやWindowsなどのプラットフォーム(オープンシステム)に移行することです。
たとえばレガシーマイグレーションでは、汎用COBOLなどの開発言語で記述されているプログラムを、変換ツールで新しいシステムに対応できるように変換します。
長年その企業の業務で運用されたシステムは最適化されていて、ノウハウの詰まった一種の資産と呼べるものです。
現行システムをレガシーマイグレーションで使い続けることは、仕様書をもとに新しいシステムを開発し直すよりも効率的であり、今までシステムのノウハウも活用できるため、大きなメリットとなります。
マイグレーションは4種類
マイグレーションは、基本的に4つの種類に分類されます。
アプリケーションの移行
「顧客管理システム」のCRM(顧客関係管理)、「統合基幹業務システム」や「統合業務パッケージ」と呼ばれるERP(企業資源計画)などのアプリケーションベンダーを乗り換える場合のマイグレーションです。
それぞれ独自のデータモデルを使用する場合が多いので、変換が必須となります。
データの移行
記憶媒体の記憶容量も、時代とともに進化を続けています。
パソコンのHDDが普及する以前は、企業でも1枚1.44MBのフロッピーディスクが使われていました。
現在では、フロッピーディスクを読み込めるパソコンはほとんど存在せず、1TBのHDDが個人のパソコンで使われています。
デジタルデータを長期的に保存するには、古くなった媒体から新しい媒体へのデータ移行が必要となります。
異なる種類の装置やソフトウェア、システム、データ形式などの間でデータを移すことを「データマイグレーション」といいます。
データベースの移行
データベースを移行する場合のマイグレーションです。
Entity Frameworkというデータベースソフトのマイグレーション機能では、DBに保存されているデータを保持したまま、テーブルの作成やカラムの変更、インデックスの作成などが可能です。
別のソフトへ移行する場合や、同じソフトでも大幅なアップグレードがあった場合、データのフォーマットを変換する必要があります。
データベースを扱うにはSQLなどの専門知識が必要ですが、近年では、データ移行ツールなどを使ってSQLの知識なしにデータベースの移行を行うことも可能です。
ビジネスプロセスの移行
ビジネスプロセスとは、一般的には業務のプロセス(手順、役割分担、ルール)を指し、BPM(ビジネスプロセス管理)ツールを使って運用されます。
ビジネスの最適化や組織変更、新市場への参入などの、組織や顧客・製品・オペレーションに関する情報の変化が生じる場合、BPMのマイグレーションを行うことがあります。
マイグレーションの効果
マイグレーションを行うことで、以下のような効果が期待できます。
現行の資産を新システムで有効活用
現行システムで積み上げたノウハウを、必要な部分だけ移行して新しいシステムで運用することができます。
マイグレーションはシステムを再構築するよりもリスクが低く、安価に行えることもメリットの一つです。
また、使い慣れたユーザーインターフェイスをそのまま使い続けることも可能で、担当者が新しいシステムの操作を覚える時間も省けます。
運用コストの削減
各メーカー独自の設計に基づく大型コンピューターであるメインフレームは、ソフトウェアの使用料が高く、運用コストで問題を抱えています。
マイグレーションにより、ソフトウェア使用料金を3年間で最大75%削減することができる(※)といわれているため、運用コストの削減につながります。
※ 参考URL:http://www.migration.jp/column/break03.html
Web化・クラウド化によるメリット
マイグレーションでシステムをWeb化・クラウド化することにより、どこからでもアクセスできるシステムへの変更が可能です。
これにより、自社からクライアントPCのメンテナンスを行うこともできます。
また、サーバーを遠隔地に置くことにより災害対策にもつながります。
新しいシステムやサービスとの互換性
最新のハードウェアやソフトウェアへ移行することで、最新技術への互換性が高まり、新しい機能やサービスを導入できるようになります。
また、最新のセキュリティサービスを導入することで、セキュリティを強化することも可能です。
マイグレーションの作業工程
マイグレーションの主な作業工程は以下のとおりです。
移行性検証
既存資産の洗い出し
移行対象資産の選定
マイグレーション手法の選定
移行後の投資効果予測
調査・分析・設計
運用書の作成
プロトタイプ対象資産とプロトタイプ環境の準備
変換ツール設計
変換設計書の作成
変換ツールのカスタマイズ
検証ツールの設計と開発
リソース変換・疎通テスト
リソースの変換
疎通テストの実施と評価
照合・結合・統合テスト
結合テスト計画
統合テスト計画
各テストのデータ準備
各テストの実施と評価
本番移行・データ移行検証
リハーサル検証
本番環境へのシステム移行
データ移行後の環境評価と品質評価
マイグレーションの作業事例
開発現場でのマイグレーションの具体例をいくつか紹介します。
AS400/RPG → COBOL
金融系、製造業系で見かけることが多いのが、RPG(IBM-iまたはOS/400のシステム上で動作するIBM独自のプログラム言語)のレガシーシステムから、COBOLのオープンシステムへのマイグレーションです。
特に、AS400/RPGからIBM-COBOLへ移行するケースは、セクションがよく似ていることからマイグレーションが行いやすくなっています。
COBOL → Java
近年ではCOBOLの技術者が不足しており、汎用COBOLからJavaへのマイグレーション案件が急増しています。
特にWebシステムはJavaでの構築が主流となっており、COBOLで構築したシステムを運用している企業でも、技術者を確保しやすいJavaへのマイグレーションの需要が高まっています。
VB6.0 → VB.NET
2014年にWindowsXPのサポートが終了したことにより、VisualBasic6.0(VB6.0) で開発されたアプリケーションをそのまま継続して使うことが極めて困難になりました。
VisualBasicの最新版であるVB.NETへマイグレーションすることにより、常に変化し続けるWindows環境に対応し、最新のOS上で安定稼動させることができます。
マイグレーションを行う際に求められるエンジニアの特徴
近年、レガシーシステムに対応できるエンジニアの高齢化によって、マイグレーションに対応できるエンジニアの需要は高まっています。
企業は基本的に即戦力を求めているため、経験者が優遇される傾向があります。
マイグレーションの案件で、企業が求めるエンジニアの特徴を説明します。
元の言語もしくは新しい言語のどちらかのスキル
元のシステムの開発言語、もしくは新しいシステムの開発言語が使える人と別々で募集をかけ、担当エンジニアをそれぞれ募集する場合があります。
- 片方のスキルに専任することによりミスを防ぐ
- 両方できるエンジニアを探すより人材が集まりやすい
というメリットがあるため、半数以上はこちらの方法で募集する傾向にあります。
元の言語と新しい言語の両方のスキル
元のシステムの開発言語と新しいシステムの開発言語の、両方とも使える人を募集する場合もあります。
- 2人分の雇用コストを削減できる
- 変換部分なども一括で任せることができる
というメリットがあります。
しかし、現状では条件に合うエンジニアが少ないため、急募ではなく長期的にエンジニアを探している企業が募集する傾向にあります。
両方の言語ができる人は優遇される
もちろん、元の言語と新しい言語の両方が使えるエンジニアは優遇されます。
1人のエンジニアがマイグレーションを行う方が、連携作業の効率がよいうえ、人件費削減のメリットが大きいからです。
小規模のマイグレーション案件でも、両方の言語を使えるエンジニアを探している場合が多い傾向にあります。
マイグレーションの今後
Windowsなどの主要なOSの世代交代によるサポート終了が相次ぎ、メインフレーム時代に活躍したエンジニア達が定年を迎える近年、多くの企業はシステムやサービスの見直しを迫られるようになりました。
クラウドなどの新しい技術やサービスも普及しはじめ、システム運用方法の選択肢も広がりを見せています。
マイグレーションのサポートを請負うベンダーも増えていて、それぞれ得意な環境で独自の言語変換サービスやソースコードの変換、既存システムから新システムへの移行作業の代行などを行っています。
マイグレーションの需要は今後も増えることが予測されますので、エンジニアの方は自分自身の仕事の幅を広げるためにも、知識を深めることをおすすめします。
- マイグレーションとは、古いシステムのデータ資産を新しい時代のシステム環境に移行すること
- 多くの企業で、時代に合わせたシステムの見直しが行われており、マイグレーションの需要が増えている
- エンジニアはマイグレーション業務を経験しておくと仕事の幅が広がる