Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フィーチャーフラグを使用した開発で 迅速かつ安全にリリースする
Search
Kenta Kozuka
March 29, 2021
Programming
0
51
フィーチャーフラグを使用した開発で 迅速かつ安全にリリースする
Kenta Kozuka
March 29, 2021
Tweet
Share
More Decks by Kenta Kozuka
See All by Kenta Kozuka
フィーチャーフラグ&ABテストツールBucketeer開発の経緯 〜社内基盤としてのプロダクト戦略〜
kentakozuka
0
97
事業部を超えた 開発生産性向上に挑戦する
kentakozuka
7
1.4k
1000人を超えるエンジニア組織へのGitHub Copilot導入促進
kentakozuka
0
310
KubeCon 2023 China Recap & ブースを出展してきました
kentakozuka
1
200
PipeCD Good First Issues
kentakozuka
0
18
サイバーエージェントでCDツールを内製した話
kentakozuka
1
420
PipeCDでGitOpsやってみよう!
kentakozuka
0
660
サイバーエージェントのフィーチャーフラグを活用した高速開発
kentakozuka
0
35
リアルタイムデータ分析基盤をKafka(Strimzi) & Druidで構築し
kentakozuka
0
76
Other Decks in Programming
See All in Programming
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
testcontainers のススメ
sgash708
1
120
たのしいparse.y
ydah
3
120
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
370
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
460
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
270
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
330
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
1
560
良いユニットテストを書こう
mototakatsu
5
2k
선언형 UI에서의 상태관리
l2hyunwoo
0
150
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Practical Orchestrator
shlominoach
186
10k
Writing Fast Ruby
sferik
628
61k
Facilitating Awesome Meetings
lara
50
6.1k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Transcript
フィーチャーフラグを使用した開発で 迅速かつ安全にリリースする @kentakozuka
@kentakozuka CyberAgent所属 - Backend - Go, Python - 最近フロントエンド -
TS, React, Redux, Nx, TailwindCSS, gRPC - 今やっていること →
In-House Feature Flag & A/B Testing Platform 「Bucketeer」という名前です 社内プロダクト用フィーチャーフラ グ
& ABテストプラットフォーム 社内の複数のプロダクトで導入 今回はBucketeerのフロントエンドで Bucketeerを使った開発の話
フィーチャーフラグとは 基本は if文 if (featureFlag) { // 機能がオン } else
{ // 機能がオフ }
フィーチャーフラグでできること 動的なOn/Off - リアルタイム - 管理画面から誰でも 限定的なリリース 段階的なロールアウト - ベータ
- ダークローンチ - ドッグフーディング - 少ないユーザーから徐々 にリリース - 即時ロールバック - トランクベース 開発 - ABテスト - 機能の使用状況の把握 分析
実際のユースケース 1. 開発環境では、開発者のみにフラグをオンにするなどして適宜開発する 2. 本番環境では、機能の開発終了までオフにしておく 3. デプロイ後に段階的にロールアウトを実施、問題なければ全展開する 新画面のリリース デプロイ ロールアウトリリース
0% 100%
メリット PRが小さくなる - レビューしやすい - バグが入りにくい 本番でテストできる リスクが小さいリリース - 開発者のみに機能をオン
- 本番データで動作確認 - 少ないユーザーから徐々 にリリース - 問題があればすぐにロー ルバック
まとめ フィーチャーフラグを使えばストレスレスかつ安全なリリースが可能に 本日の紹介した内容以外にも、いろいろなメリットがあります。 - パフォーマンス調整 - UI変更 - ABテスト -
などなど、、、
ありがとう ございました🙇 CodeZineに寄稿しました。 興味がある方は是非!