マイグレーションとは、プログラムやデータ、OS(オペレーティングシステム)などの環境やプラットフォームを移行、変換することを示します。古いデータベースに蓄えられたデータを新しいシステムのデータベースに移行するデータマイグレーション、時代遅れになったメインフレームなどのレガシーシステムを廃止し、最新のオープンシステム上で同じ動きをするシステムを構築して切り替えることをレガシーマイグレーションと呼びます。近年では、上記のような移行、切り替えを担うサービスを提供する会社が多く存在します。既存のシステムは、長期にわたって保守としてカスタマイズされ続けてしまったため構造が複雑になり、把握できる人材が退職や異動によっていなくなってしまったという問題や、また、時代遅れになったメインフレームなどのレガシーシステムはCOBOLなど解析できる技術者が限られている言語で作成されている場合が多いという問題があります。
しかし、現行業務は変えたくないが、要件定義から再構築するほどの時間とコストに余裕がないという企業側の事情もあり、それらの課題を引き受けるサービス、レガシーマイグレーションサービスを提供する会社が近年多くあります。レガシーマイグレーションサービスの提供の方法として、メインフレーム系のCOBOLからJavaなどのオープン系言語にプログラムソースを書き換える「リライト」という方法を使って解決することが一般的ですが、現行のプログラムをそのまま変更せずにオープン環境下でコンパイルする「リホスト」という方法も適用されることがあります。