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件を見るChaos Engineering
本番システムに意図的に障害を注入し、システムの回復力(レジリエンシー)を検証する実践手法。Netflixが提唱しChaos Monkeyで有名。「障害は必ず起きる」という前提のもと、弱点を事前に発見する。
Ansible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
DAST
Dynamic Application Security Testing(動的アプリケーションセキュリティテスト)の略。実際にアプリを実行しながら外部から攻撃を模倣して脆弱性を検出する手法。OWASP ZAPやBurp Suiteが代表的。
IT用語: カナリアリリースとは|一部ユーザーへ先行公開する安全なデプロイ手法
新バージョンを全ユーザーの5〜10%に先行公開し問題がなければ徐々に拡大するカナリアリリースの仕組みを解説。
Blue-Green Deployment
ゼロダウンタイムデプロイ戦略の一つ。本番環境(Blue)と新バージョン(Green)を並行して稼働させ、トラフィックを切り替えてデプロイする。問題発生時に即座に切り戻せる。
Jenkins
オープンソースのCI/CDサーバー。Groovyベースのパイプライン定義でビルド・テスト・デプロイを自動化できる。プラグインが豊富で高い拡張性を持つ。