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件を見るArgoCD
Kubernetesのための宣言的GitOps継続デリバリーツール。Gitリポジトリ上のマニフェストと実際のK8sクラスタの状態を常に同期させる。変更を検知して自動でデプロイする。
Datadog
クラウドネイティブな統合監視・APMプラットフォーム。インフラ・アプリ・ログ・トレースを一元的に監視できるSaaS型ツール。エージェントをサーバーにインストールして使用する。
GitHub Actions
GitHubに組み込まれたCI/CDプラットフォーム。リポジトリへのプッシュやプルリクエストをトリガーに、ワークフロー(.yml)を自動実行できる。テスト・ビルド・デプロイを一元管理できる。
IaC(Infrastructure as Code)
インフラ構成をコードとして記述・管理する手法。Terraform・AWS CDK・Ansibleなどのツールを使い、インフラの再現性・バージョン管理・自動化を実現する。
Ansible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
Istio
Kubernetesで動作するオープンソースのサービスメッシュ実装。Envoyプロキシをサイドカーとして各Podに注入し、トラフィック管理・セキュリティ・可観測性を提供する。