運用・保守

バージョンアップ・マイグレーション ばーじょんあっぷ・まいぐれーしょん

バージョンアップマイグレーションアップグレードシステム移行バージョン管理互換性
バージョンアップ・マイグレーションについて教えて

簡単に言うとこんな感じ!

バージョンアップは「ソフトウェアを最新版に更新すること」、マイグレーションは「データやシステムを新しい環境に移すこと」だよ。スマホのOSアップデートがバージョンアップで、機種変更のときのデータ引っ越しがマイグレーションのイメージ。どちらも「やらないとリスクが高まる」のに、ついつい後回しにしがちで気づいたら大規模な作業になってしまうやつだね!


バージョンアップ・マイグレーションとは

バージョンアップ(Version Upgrade) とは、使用しているソフトウェア・OSやミドルウェアをより新しいバージョンに更新することです。セキュリティパッチの適用(マイナーバージョンアップ)から、機能の大幅な変更を伴うメジャーバージョンアップまで規模は様々です。特にEOL(End of Life:サポート終了) になったバージョンを使い続けるとセキュリティリスクが急増するため、計画的な更新が重要です。

マイグレーション(Migration) は「移行」を意味し、データ・アプリケーション・システム全体を別の環境や新しい仕組みに移すことを指します。例えば「オンプレミスサーバーからクラウドへの移行」「データベースの種類を変える(Oracle→PostgreSQL)」「旧システムのデータを新システムに移す」などが代表的なマイグレーションです。

発注者にとっての重要ポイントは、バージョンアップ・マイグレーションを保守契約の範囲内で行うのか、別途費用が発生するのかを事前に明確にしておくことです。また、マイグレーション作業は「データが正しく移行できているか」の確認責任が発注者側にもあるため、検証計画の策定が不可欠です。


バージョンの種類と更新パターン

種類主な変更内容リスク
パッチ(x.x.x)1.2.3→1.2.4バグ修正・セキュリティ修正低(後方互換性を維持)
マイナーバージョンアップ(x.x)1.2→1.3機能追加・改善中(互換性は概ね維持)
メジャーバージョンアップ(x)1.x→2.x大幅な機能変更・仕様変更高(非互換の変更含む可能性大)
EOL対応PHP 7.4→8.xサポート終了前の強制アップグレード高(テスト工数大)

マイグレーションの種類

種類説明
データマイグレーションデータを旧システムから新システムへ移行DBの移行・ファイルの変換
プラットフォームマイグレーション動作環境を変更オンプレ→クラウド、Windows→Linux
アプリケーションマイグレーションアプリを新バージョン・新技術で再構築Java 8→17へのコード移行
クラウドマイグレーションオンプレ環境をクラウドに移すAWS/Azure/GCPへの移行

歴史と背景

  • 1980年代:IBM互換PCとUnixの普及で、プラットフォーム間のデータ移行が課題になり始める
  • 1990年代:Windows 3.1→95→2000と頻繁なOSアップグレードが業務を圧迫。企業のバージョン管理の重要性が認識される
  • 2000年:Y2K問題(2000年問題)への対応が大規模マイグレーションのきっかけに。多くの企業がシステムを刷新
  • 2008〜2015年:クラウドサービスの普及で「クラウドマイグレーション」が一大テーマに。Gartner「5つのR」(Rehost/Refactor/Revise/Rebuild/Replace)が指針となる
  • 2020年代ゼロトラストセキュリティの普及で古いOSやミドルウェアのリスクが再認識。また、EOL問題(Windows Server 2012、PHP 7など)への対応が多くの企業で課題に

バージョンアップ計画の立て方

バージョンアップ計画フロー ①現状調査 ・現在のバージョン ・EOL日程確認 ・依存関係確認 ②影響調査 ・互換性確認 ・カスタマイズ箇所 ・テスト範囲の特定 ③テスト環境で検証 ・本番と同じ環境を用意 ・機能テスト実施 ・性能テスト実施 ④本番適用 ・ロールバック計画を用意 ・メンテナンス時間帯に実施 ・完了後に動作確認 ⚠️ ロールバック計画は必ず用意する アップグレード失敗時に元のバージョンに戻せる手順・バックアップを事前に確保しておくこと

関連する規格・RFC

規格・標準内容
ITIL v4 変更管理バージョンアップを「変更(Change)」として管理するプロセス。CAB(変更諮問委員会)による承認手順を定義
Gartner「5つのR」クラウドマイグレーション戦略:Rehost・Refactor・Revise・Rebuild・Replace
セマンティックバージョニング(SemVer)x.y.z形式でバージョンの意味を標準化した規約(semver.org)

関連用語