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件を見るIT用語: SRE(サイト信頼性エンジニアリング)とは|Googleが考案した運用手法
ソフトウェアエンジニアリングの手法で運用を改善するSREの概念とSLI・SLO・SLAの関係を解説。
Chaos Engineering
本番システムに意図的に障害を注入し、システムの回復力(レジリエンシー)を検証する実践手法。Netflixが提唱しChaos Monkeyで有名。「障害は必ず起きる」という前提のもと、弱点を事前に発見する。
IT用語: Terraformとは|インフラをコードで管理するIaCツール
AWSやGCPなどのクラウドリソースをコードで定義・管理するTerraformの仕組みとHCL構文を解説。
IaC
Infrastructure as Code(コードとしてのインフラ)の略。インフラ構成をコードで記述・管理することで、自動化・バージョン管理・再現性を実現する考え方。TerraformやAnsibleが代表的ツール。
GitOps
Gitをシステムの信頼できる唯一の情報源(Single Source of Truth)として扱う運用手法。インフラやアプリの設定変更をGitのPull Requestで管理し、自動デプロイを行う。ArgoCD・Fluxが普及。
kubectl
Kubernetesクラスタを操作するCLIツール。kubectl get pods・apply・delete等のコマンドでK8sリソースを管理する。クラスター管理者の日常ツールとして欠かせない。