【ふぃーちゃーふらぐ】

フィーチャーフラグ とは?

最終更新:
💡 コードは先に置き、公開はスイッチで

設定や条件によって機能の有効・無効、実行する処理を切り替える仕組み。動作中に設定を反映できる構成では、コードの配置と利用者への公開を分けられる。

📌 このページのポイント
フィーチャーフラグ:公開のスイッチ新しいコードを配置公開の切り替えを用意しておく設定・対象者の条件フラグを評価OFF:旧機能新機能は使わないON:新機能選んだ対象へ公開OFFでも、変更済みのデータは戻らない
旧機能と新機能を切り替える例。動作中の設定反映や旧処理との互換性は、構成に合わせて確認する。
ひよこ ひよこ
デプロイしたら、新機能はすぐ公開されるの?
ペンギン先生 ペンギン先生
フラグで切り替えるように作れば、コードを配置しても新機能をOFFにしておけるよ。公開の準備ができたらONにする。設定を動作中に反映できる仕組みなら、公開のためにもう一度デプロイする必要を減らせるんだ。
ひよこ ひよこ
一度に全員へ公開しなくていい?
ペンギン先生 ペンギン先生
社内のテスターや一部の利用者から始められるよ。たとえば少ない割合から広げて、エラーや操作の結果を確かめる。A/Bテストの出し分けにも使えるけれど、比較する指標や期間などの実験設計は別に必要だね。
ひよこ ひよこ
問題があればOFFにして、全部元に戻せる?
ペンギン先生 ペンギン先生
新しい処理へ進むのを止めたり、旧処理へ切り替えたりできるよ。ただし、既に送ったメールや変更したデータまで取り消すわけではない。旧処理がそのデータを扱えるか、設定がいつ反映されるかも確認しておこう。
ひよこ ひよこ
フラグはいつ消すの?
ペンギン先生 ペンギン先生
公開が終わった一時的なフラグは、古い分岐と一緒に整理しよう。一方、障害時の停止や継続的な出し分けのために残すフラグもある。Unleashにも一時的な種類と継続利用の種類があるよ。目的・担当者・見直す時期を決め、両方の状態をテストするんだ。
ひよこ ひよこ
管理者の画面も、OFFにすれば守れる?
ペンギン先生 ペンギン先生
ボタンを隠すだけでは、APIやデータへのアクセス権は守れないよ。サーバー側の認可確認が必要だね。管理ツールを選ぶときも、対象の出し分けだけでなく、誰が設定を変えられるか、変更履歴や障害時の動きまで確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「フィーチャーフラグ」って出てきたら「設定や条件で、機能のON/OFFを切り替えるスイッチ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Feature Flag (Feature Toggle)」 = 機能フラグ
💬 Feature(機能)のFlag(旗)を立てる/降ろすことで有効/無効を切り替えるよ

参考資料

← 用語集にもどる