0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Feature Flagとは何か知ろう!

Posted at

このテーマを扱うきっかけ

私のインターン先でFeature Flagの運用が始まったので、ちょっと触れてみます!

Feature Flagのメリット

(1)より早く、ストレスレスで開発できる

  • トランクベース開発が行える

(2)本番環境でのテストが可能になる

  • カナリアリリース
  • ベータリリース
  • ダークローンチ
  • ドッグフーディング
  • ABテスト

フィーチャーフラグ(Feature Flag)はなぜ必要なのか?

Feature Flagのデメリット

  • コード量の増加
  • フラグの管理コスト
  • フラグ同士が依存してしまう

フィーチャーフラグ(Feature Flag)はなぜ必要なのか?

Feature Flag使用時の注意点

  • 1つのフィーチャーに関するフラグを複数のレイヤーに挿入することは避ける
  • 振る舞いを切り替えたい箇所からフィーチャーフラグへの依存を分離する
  • 役割を終えたフィーチャーフラグを削除する仕組みを作る

フィーチャーフラグ(Feature Flag)導入と運用のベストプラクティス

Feature Flagには4種類ある

↓XPの有名人マーティン・ファウラーさんの元資料
https://martinfowler.com/articles/feature-toggles.html

Feature Flagの種類まとめ

Toggleの種類 目的 主なユーザー 持続期間
Release Toggle 機能の段階的リリース 開発者 短期(数日〜数週間)
Experiment Toggle A/Bテストなどの実験 プロダクトチーム 短期(数日〜数週間)
Ops Toggle システム運用の制御 運用チーム・SRE 中〜長期(数週間〜数ヶ月)
Permission Toggle ユーザーごとの機能制御 サポート・管理者 長期(数ヶ月〜年単位)
デプロイごとに変更 リクエストごとに変更
変更タイミング アプリのデプロイ時 リアルタイム
実装方法 設定ファイル・環境変数 DB・キャッシュ・API
対象のトグル Release Toggle, 一部のOps Toggle Experiment Toggle, Permission Toggle, 一部のOps Toggle
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?