フィーチャーフラグとは?
ふぃーちゃーふらぐ
フィーチャーフラグとは、コードのデプロイとは独立して、特定の機能のオン・オフを実行時に切り替えられる仕組みのことです。
フィーチャーフラグ(Feature Flag)は、機能トグル(Feature Toggle)とも呼ばれ、ソフトウェアの特定機能を設定値によって有効化・無効化できる仕組みです。コードをデプロイしたうえで、機能の公開タイミングや対象ユーザーをコードの変更なしに制御できる点が最大の特徴です。
主な活用パターンは以下のとおりです。
- カナリアリリース:全ユーザーの一部にだけ新機能を公開し、問題がなければ順次拡大する
- A/Bテスト:ユーザーを複数グループに分けて異なるUIや機能を比較検証する
- キルスイッチ:本番環境で問題が発生した際に即座に機能を無効化する
- 開発中機能の隠蔽:未完成の機能を含んだままメインブランチへマージし、完成まで非表示にする
実装には環境変数・データベースの設定値・専用SaaSサービス(LaunchDarkly・Unleash など)が利用されます。フィーチャーフラグを使うことでトランクベース開発が容易になり、長期間続く機能ブランチを避けられるため、CI/CDとの相性が優れています。一方、フラグの管理が煩雑になると「フラグの墓場」が生じるリスクもあるため、役目を終えたフラグを定期的に削除するリグレッション管理が重要です。
使い方・例文
新しい決済画面を全ユーザーに公開する前に、社内スタッフだけフラグを有効にして動作確認する、といった場面で使われます。
この用語をシェア
最終更新: