ホーム/ 導入事例
HR SaaS

PHP製HR SaaSを、Go + React で18ヶ月かけて段階リプレイス

HR SaaS事業者

長年運用されてきたPHP製のHR SaaSを、Go (GIN) + React + TypeScriptへ段階的にリプレイス。機能の同時並行開発を止めずに、画面単位で新基盤に切り替える方式を取り、既存ユーザーへの影響を最小化した。

Before / After

プロジェクトでの変化

  • API応答時間
    PHP比で改善傾向
  • 新機能の開発リードタイム
    短縮
  • リプレイス進捗
    18ヶ月で計画通り進行
Challenge

課題

PHP製のモノリシックなSaaSは機能拡張のたびに既存箇所への影響範囲が読みにくく、新機能の見積もりが膨らみがちだった。リプレイス中も機能追加は止められず、新旧の併走運用が必須要件だった。

Approach

アプローチ

  1. 01 画面・APIをドメイン単位で切り、リプレイス順序を優先度付け
  2. 02 Go (GIN) によるAPI層の再設計と、React + TypeScript への画面移植
  3. 03 新旧APIをリバースプロキシで切り替える段階的カットオーバー
  4. 04 Docker / CIによるローカル〜本番までの環境統一
Key Success Factors

成功要因

並行稼働の徹底
旧PHP環境と新Go環境を機能単位で同居させ、リバースプロキシで段階的にトラフィックを移した。
型定義の新旧共有
TypeScriptで定義した型を新旧フロントで共有し、移行中の退行を機械的に検出できる状態を保った。
ドメイン単位での切り出し
リプレイス順序を画面ではなくドメインで切り、機能拡張を止めずに新基盤へ寄せていった。
環境再現性の確保
Docker / CIでローカル〜本番を同一構成にし、新基盤の検証コストが膨らまないようにした。
Solution

ソリューション

リプレイス対象を機能ドメインごとに切り出し、新基盤をGo + React で構築しつつ、既存PHP環境とAPIレベルで併走。フロント側はTypeScript化により共通の型定義を新旧で共有し、移行中の品質低下を抑えた。

同じような課題、ありませんか?

業種や規模を問わず、まずはお話を伺います。

お問い合わせフォーム
Other Cases

他の事例

事例一覧を見る

お気軽にご相談ください。

ご相談内容は守秘義務のもと取り扱います。
お問い合わせをいただいてから、営業日2日以内にご返信いたします。