フィーチャーフラグ(機能フラグ)
コードのデプロイとは独立して機能のオン/オフを切り替えられる仕組み。段階的ロールアウト・A/Bテスト・カナリアリリース・緊急無効化をコードの再デプロイなしに実現する。
フィーチャーフラグとは?
フィーチャーフラグ(Feature Flag、機能フラグ・フィーチャートグル)は、コードのデプロイとは独立して、機能のオン/オフをランタイムで切り替えられる仕組みです。「コードを変えずに動作を変える」ことができます。
基本的なイメージ
if (featureFlags.isEnabled('new-checkout-flow')) {
// 新しい決済フロー
return <NewCheckout />;
} else {
// 従来の決済フロー
return <OldCheckout />;
}
フィーチャーフラグのユースケース
| 用途 | 説明 |
|---|---|
| 段階的ロールアウト | 最初は1%→10%→100%と段階的に有効化 |
| A/Bテスト | ユーザーを2群に分けて機能を比較 |
| カナリアリリース | 一部のユーザーで新機能を先行テスト |
| 緊急無効化(Kill Switch) | 問題発生時に再デプロイなしで機能を即停止 |
| ベータテスト | 特定ユーザー群にのみ新機能を公開 |
代表的なツール
| ツール | 特徴 |
|---|---|
| LaunchDarkly | エンタープライズ向け・高機能 |
| Flagsmith | オープンソース・セルフホスト可能 |
| Unleash | OSSの定番・k8s対応 |
| AWS AppConfig | AWSネイティブ |
まとめ
フィーチャーフラグは「デプロイとリリースを分離する」モダンなCD戦略の核心です。本番デプロイ済みでも機能を隠しておき、準備ができたらフラグをオンにするだけでリリースできます。
関連する用語 (DevOps)
全58件を見るConfigMap
Kubernetesで設定値(接続先URLや設定パラメーター等)をコンテナから分離して管理するリソース。環境ごとに異なる設定を外出しにすることで、同一イメージを複数環境で使い回せる。
Ansible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
Terraform
HashiCorpが開発するIaC(Infrastructure as Code)ツール。HCL(HashiCorp Configuration Language)でインフラをコードとして記述し、AWS・GCP・Azureなどのクラウドリソ
IT用語: ブルー/グリーンデプロイとは|ダウンタイムゼロのリリース手法
本番環境(Blue)と新バージョン環境(Green)を並列稼働させ、瞬時に切り替えるブルー/グリーンデプロイの仕組みを解説。
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。
SRE
Site Reliability Engineering(サイト信頼性エンジニアリング)の略。Googleが提唱した、ソフトウェアエンジニアリングの手法を運用・インフラに適用するアプローチ。SLO・エラーバジェット・トイルの削減が核心概念。