IT用語: フィーチャーフラグ(Feature Flag)とは|コードを変えずに機能のON/OFFを制御
デプロイと機能リリースを分離するフィーチャーフラグの仕組みとA/Bテスト・カナリアリリースへの活用を解説。
フィーチャーフラグとは
フィーチャーフラグ(Feature Flag / Feature Toggle)は、コードのデプロイとは独立して、特定の機能をON/OFFできる仕組みです。「デプロイ済みだが特定のユーザーだけ新機能を見せる」「問題が発生したら即座に機能をOFFにする」といった柔軟な制御が可能になります。
基本的な実装
if (featureFlags.isEnabled('new-checkout-ui', userId)) {
return <NewCheckoutUI />;
} else {
return <OldCheckoutUI />;
}
フラグの値はデータベース・環境変数・専用サービス(LaunchDarkly等)から取得します。
活用場面
- カナリアリリース: 5%のユーザーにだけ新機能を公開
- A/Bテスト: 異なるUIをランダムに表示してCVR比較
- 緊急停止: 問題のある機能をコード変更なしで即時無効化
- 開発中機能の隠蔽: 未完成の機能をmainブランチにマージしながら非公開
関連する用語 (DevOps)
全58件を見るAnsible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
カナリアリリース
新バージョンを全ユーザーにいきなり公開せず、まず少数(5〜10%)のユーザーにのみ提供してリスクを最小化するリリース手法。問題があれば即座にロールバックできる。
Istio
Kubernetesで動作するオープンソースのサービスメッシュ実装。Envoyプロキシをサイドカーとして各Podに注入し、トラフィック管理・セキュリティ・可観測性を提供する。
IaC(Infrastructure as Code)
インフラ構成をコードとして記述・管理する手法。Terraform・AWS CDK・Ansibleなどのツールを使い、インフラの再現性・バージョン管理・自動化を実現する。
GitOps
Gitをシステムの信頼できる唯一の情報源(Single Source of Truth)として扱う運用手法。インフラやアプリの設定変更をGitのPull Requestで管理し、自動デプロイを行う。ArgoCD・Fluxが普及。
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。