よろずやIT
用語辞典

フィーチャーフラグとは?『公開せずに、すぐ戻せる』仕組みの正体

執筆・監修:よろずやIT編集部|編集方針を見る

結論:まずここだけ読めばOK

詳しい手順・原因は、この下で解説しています。

用語辞典のイラスト

新機能を公開した直後に、大きな不具合が見つかった。そんなとき、「大急ぎでコードを直して、再度公開する」以外にも、実は選択肢があります。

フィーチャーフラグとは「機能のスイッチ」のこと

フィーチャーフラグとは、特定の機能のオン・オフを、コードを書き直すことなく切り替えられる仕組みのことです。プログラムの中に「この機能を表示するかどうか」を判定する小さなスイッチ(フラグ)をあらかじめ用意しておき、管理画面などからそのスイッチを操作するだけで、機能の見え方をコントロールできます。

家の壁にある照明のスイッチをイメージすると分かりやすいかもしれません。電球の配線をやり直さなくても、スイッチを切り替えるだけで、部屋を明るくしたり暗くしたりできます。フィーチャーフラグも同じように、コードという「配線」自体は変えずに、機能の見え方だけを切り替えます。

なぜ、この仕組みが重要なのか

新機能を公開した後に問題が見つかった場合、通常であれば、原因を調べて修正し、あらためてコードを公開し直す必要があります。この一連の作業には、どうしても一定の時間がかかります。特に多くの利用者が使っているサービスでは、その間も問題が起き続けてしまいます。

フィーチャーフラグを使っていれば、この状況が大きく変わります。問題が起きたら、管理画面からスイッチをオフにするだけで、その機能を即座に非表示にできます。コードの修正や再公開を待つ必要がなく、被害を最小限に食い止められるのです。まさに「何かあったら、すぐ電源を落とせる」状態を、あらかじめ用意しておくようなものです。

その他の使われ方

フィーチャーフラグは、緊急時の備えとしてだけでなく、日常的な開発の中でも幅広く活用されています。

前回紹介した「カナリアリリース」(一部の利用者にだけ新機能を先行公開する手法)を実現するための具体的な仕組みとして、このフィーチャーフラグが使われることもよくあります。「誰に、どの機能を見せるか」を柔軟にコントロールできる点が、フィーチャーフラグの大きな強みです。

まとめ

フィーチャーフラグは、機能のオン・オフをコードの修正なしに切り替えられる仕組みです。緊急時にすぐ機能を止められる備えとしてだけでなく、開発中の機能を隠しておいたり、特定の利用者だけに先行公開したりと、日常的な開発の中でも幅広く役立っています。「すぐに戻せる」という安心感を作っておくことが、この仕組みの本質的な価値だといえます。

PR【中古】 1からはじめるITアーキテクチャー構築入門 システム設計の基礎から実践まで/二上哲也(著者),田端真由美(著者)

【中古】 1からはじめるITアーキテクチャー構築入門 システム設計の基礎から実践まで/二上哲也(著者),田端真由美(著者)

¥2,480

楽天で見る
SHAREXLINEはてブ

よくある質問

Q.以前紹介された『カナリアリリース』と、どう関係していますか?

A.カナリアリリースは『どの範囲の利用者に公開するか』という考え方で、フィーチャーフラグはその範囲をコード修正なしに調整するための具体的な仕組みです。カナリアリリースを実現する手段の一つとして、フィーチャーフラグが使われることがよくあります。

Q.常にオンにしておけばいい機能に、なぜわざわざフラグを付けるのですか?

A.最初から常時オンで問題ない機能でも、開発中の一時的な期間だけフラグを付けておくことがあります。開発途中の機能を本番環境に置きながらも利用者には見せない、という状態を作れるため、少しずつ機能を作り上げていく開発スタイルと相性がよいためです。

関連記事

最新のIT関連書籍 トップ10

PR / 楽天市場の売れ筋ランキングを定期的に取得しています。価格は変動する場合があるため、購入前に各ストアでご確認ください。