安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記 by さくらい

PHPerKaigi 2025
採択
レギュラートーク(20分)

安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記

saku_rye さくらい saku_rye
3

レガシーと向き合い続けるって大変ですよね。
大小様々な問題を抱えながらも、小さなパッチを当て続けることで生き抜いてきた、まさにプロダクトの中枢。
これはそんな「レガシーシステムのフルリプレイス」という大きな課題と向き合った、とある小さなチームの挑戦記です。

弊チームでは先日、大きな障害を出すことなく、レガシーシステムのリプレイスを終えることができました。
その際に以下の検証手法・リリース手法を組み合わせて、リスクを最小限に抑える「安全に倒し切ったリリース」を実現しました。

  • チームオリジナルの検証手法「ペンギンテスト」
  • シャドーテスト
  • カナリアリリース
  • ダークローンチ
  • フォールトマスキング など

特筆すべきは「ペンギンテスト」で、これは以下のような特徴を持ったオリジナルの検証手法です。

  • 本番環境で実際のデータを使いながらも
  • ユーザー影響は出さない
  • 未然に徹底的に見落としを削ぐための検証

この「ペンギンテスト」についてを主軸に、どのようにして予期せぬトラブルを未然に防ぎ、
計画通りのリプレイスを成し遂げたのか、その実践的なプロセスについて詳しくお話しします。

他の組織、チーム、プロダクトでも応用可能な知見を共有するので、
今同じような壁に直面している方には、有用な解決策の一つとして聞いていただけます。
安全に倒し切ったリリースを必要としている方、そして日々レガシーシステムと向き合う方は必見の内容です。