概要
収益は生んでいるものの、もはや安全に変更できないアプリケーションを引き受けます。作り直しから始めることはありません。それは最後の選択肢です。まずテストで包み、どの環境でも再現性をもって起動できる状態にします。
レガシー現代化
最新の技術基盤上での完全な書き換えまたは戦略的なリファクタリング。
RectorPHPStanStrangler FigDocker
ユースケース
サポート切れの PHP
セキュリティパッチが提供されなくなったバージョンに取り残されたアプリケーション。
開発環境が存在しないアプリ
一台のサーバーでのみ動き、誰も触れようとしないシステム。
担当チーム離任後の引き継ぎ
ドキュメントがなく、当初の開発者にも連絡が取れないコード。
主なメリット
事業を止めない
少しずつ移行し、旧と新を並行稼働させます。すべてが一日で切り替わることはありません。
数週間で目に見える成果
誰にも見えないリファクタリングではなく、最も痛いところから着手します。
リスクは推測せず計測する
初期診断で、テストで守られている範囲、そうでない範囲、サポートの切れた依存関係を明示します。
進め方
- 01
現状把握
提案の前に、既存システムと制約、そして事業目標を整理します。
01現状把握
提案の前に、既存システムと制約、そして事業目標を整理します。
- 02
アーキテクチャ設計
構成・データモデル・連携点を設計します。決定は文書化し、場当たりにしません。
- 03
実装
短いイテレーションで納品。コードレビュー済みで、ステージング環境はいつでも確認できます。
03実装
短いイテレーションで納品。コードレビュー済みで、ステージング環境はいつでも確認できます。
- 04
テスト・QA
リリースごとに自動テストと性能・セキュリティ検証を実施します。
- 05
公開と運用
ロールバック計画とともに公開し、その後も監視と改善を継続します。
05公開と運用
ロールバック計画とともに公開し、その後も監視と改善を継続します。
技術スタック
6 toolsRector
PHPStan
Strangler Fig
Docker
CI/CD
PHPUnit