エンジニアリング / 事業を止めずに基幹サービスをフルリプレイスする

3.8K WORDS · KOHTA KOUCHI

事業を止めずに基幹サービスをフルリプレイスする

毎日ユーザーが使っている本番サービスを、止めずに Laravel/Vue から Next.js/Go へ作り替えたときの話です。

FIG · 1 · 2026.04

怖いのは、新しい技術より古い方

リプレイスで本当に怖いのは、新しい技術スタックではありません。作り替えている最中も、古いシステムが会社の売上を支え続けている——そこが一番怖いところです。Simple では転職情報サイトを Laravel・Vue.js から TypeScript・Next.js・Tailwind・Go・AWS へ刷新しましたが、守るべき条件はひとつだけ。事業側に移行を気づかせないこと、でした。

一気にではなく、ルート単位で

一気に切り替えるのではなく、ルート単位で少しずつ移していきました。各ページを同じ URL の裏側で作り直し、まず一部のトラフィックにだけ出して、旧画面の出力と突き合わせ、問題がなければ比率を上げていく。地味で退屈なやり方ですが、それが正解でした。考えどころは、新旧が何ヶ月も共存しても壊れないように、どこで境界を切るかでした。

移行計画そのものがプロダクト

やってみて学んだのは、移行計画それ自体がひとつのプロダクトだということです。「うまくいかなかったらどう戻すか」を一言で説明できないなら、そのステップはまだ出すには早い。そう考えるようになりました。