Slide 1

Slide 1 text

フィーチャーフラグを使用した開発で 迅速かつ安全にリリースする @kentakozuka

Slide 2

Slide 2 text

@kentakozuka CyberAgent所属 - Backend - Go, Python - 最近フロントエンド - TS, React, Redux, Nx, TailwindCSS, gRPC - 今やっていること →

Slide 3

Slide 3 text

In-House Feature Flag & A/B Testing Platform 「Bucketeer」という名前です 社内プロダクト用フィーチャーフラ グ & ABテストプラットフォーム 社内の複数のプロダクトで導入 今回はBucketeerのフロントエンドで Bucketeerを使った開発の話

Slide 4

Slide 4 text

フィーチャーフラグとは 基本は if文 if (featureFlag) { // 機能がオン } else { // 機能がオフ }

Slide 5

Slide 5 text

フィーチャーフラグでできること 動的なOn/Off - リアルタイム - 管理画面から誰でも 限定的なリリース 段階的なロールアウト - ベータ - ダークローンチ - ドッグフーディング - 少ないユーザーから徐々 にリリース - 即時ロールバック - トランクベース 開発 - ABテスト - 機能の使用状況の把握 分析

Slide 6

Slide 6 text

実際のユースケース 1. 開発環境では、開発者のみにフラグをオンにするなどして適宜開発する 2. 本番環境では、機能の開発終了までオフにしておく 3. デプロイ後に段階的にロールアウトを実施、問題なければ全展開する 新画面のリリース デプロイ ロールアウトリリース 0% 100%

Slide 7

Slide 7 text

メリット PRが小さくなる - レビューしやすい - バグが入りにくい 本番でテストできる リスクが小さいリリース - 開発者のみに機能をオン - 本番データで動作確認 - 少ないユーザーから徐々 にリリース - 問題があればすぐにロー ルバック

Slide 8

Slide 8 text

まとめ フィーチャーフラグを使えばストレスレスかつ安全なリリースが可能に 本日の紹介した内容以外にも、いろいろなメリットがあります。 - パフォーマンス調整 - UI変更 - ABテスト - などなど、、、

Slide 9

Slide 9 text

ありがとう ございました🙇 CodeZineに寄稿しました。 興味がある方は是非!