フィーチャートグル(Feature Toggle)とは?
フィーチャートグル(またはフィーチャーフラグ)は、ある機能が有効かどうかを制御するランタイムでチェックされる設定スイッチで、変更のために新しいデプロイを必要としません。チームは機能を隠したままコードをマージ・デプロイし、後から全員またはユーザーの一部に対して有効化できます。これにより、コードのデプロイと機能のリリースが分離されます。
なぜ重要か
トグルを使えば、未完成またはリスクのあるコードをダークな状態で出荷し、段階的に有効化できます。これはtrunk-based developmentやcanaryのロールアウトを支え、再デプロイせずにフラグを切り替えるだけで即座にロールバックできます。コストは複雑さの増加です。古くなったトグルが蓄積するため、機能が完全にローンチされたらクリーンアップする必要があります。
関連する概念
- コードのdeployと機能のリリースを分離する
- ダークローンチと段階的なロールアウトを可能にする
- 複雑さを抑えるため古いトグルは廃止する必要がある
関連ガイド
What Is a Kill Switch?A kill switch is a feature toggle whose purpose is to instantly disable a risky feature or integration in pro…
What Is a Dark Launch?A dark launch ships a feature to production turned off or hidden, so it can be tested in the real environment…
What Is a Progressive Rollout?A progressive rollout releases a change to an increasing share of traffic or users in stages, monitoring heal…