フィーチャーフラグ(機能フラグ)
コードのデプロイとは独立して機能のオン/オフを切り替えられる仕組み。段階的ロールアウト・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件を見るIT用語: Ansibleとは|サーバー設定を自動化するIaCツール
エージェント不要でSSHを通じてサーバー設定を自動化するAnsibleのPlaybook構文と活用場面を解説。
IaC(Infrastructure as Code)
インフラ構成をコードとして記述・管理する手法。Terraform・AWS CDK・Ansibleなどのツールを使い、インフラの再現性・バージョン管理・自動化を実現する。
Datadog
クラウドネイティブな統合監視・APMプラットフォーム。インフラ・アプリ・ログ・トレースを一元的に監視できるSaaS型ツール。エージェントをサーバーにインストールして使用する。
SRE
Site Reliability Engineering(サイト信頼性エンジニアリング)の略。Googleが提唱した、ソフトウェアエンジニアリングの手法を運用・インフラに適用するアプローチ。SLO・エラーバジェット・トイルの削減が核心概念。
IT用語: Terraformとは|インフラをコードで管理するIaCツール
AWSやGCPなどのクラウドリソースをコードで定義・管理するTerraformの仕組みとHCL構文を解説。
CircleCI
クラウド型CI/CDプラットフォーム。.circleci/config.ymlにワークフローを定義し、GitHubやBitbucketと連携してパイプラインを実行。並列実行やキャッシュ機能で高速なCIを提供。