Feature Flag を開発・運用して得られた知見 〜保守性向上からプロセス自動化まで〜 by 濱田晃輔

PHP Conference Japan 2022
Regular Session (25mins)
Framework Service Operation

Feature Flag を開発・運用して得られた知見 〜保守性向上からプロセス自動化まで〜

hamakou108 濱田晃輔 hamakou108
5

みなさんは Feature Flag (Feature Toggle) についてご存知でしょうか?

コード中に Feature Flag の値による条件分岐を仕込んでおくと、その値を切り替えることで機能を有効化・無効化することができます。 Feature Flag を使うことで、機能リリースのタイミングの柔軟な制御や問題のある機能の迅速なロールバックを実現できます。

弊社では Feature Flag を使った開発・運用を1年以上続けてきました。その過程で、 Feature Flag を用いたコードのメンテナンスコストを下げるための工夫や、当初は想定していなかった方法による Feature Flag の活用を行ってきました。

このセッションでは、弊社の事例を中心に以下のようなテーマでお話しします。

  • Laravel での Feature Flag の実装例
  • 不要になった Feature Flag の条件分岐コードを機械的に削除する
  • Feature Flag の値ごとのテストを作成する
  • Feature Flag を使って機能のリリースを Slack へ通知する
  • Feature Flag を使ってデータとコードの変更を同じタイミングで実行する