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
タクシーアプリ『GO』Androidのリリースフロー / Release GO App
Search
gyamoto
October 31, 2023
Technology
0
1.3k
タクシーアプリ『GO』Androidのリリースフロー / Release GO App
gyamoto
October 31, 2023
Tweet
Share
More Decks by gyamoto
See All by gyamoto
脱Accompanistを考える / Bye Accompanist
gya
0
330
実践 脱Modifier.composed / Let's Modifier.Node
gya
2
710
私の好きなModifier関数 / My Favorite Modifier
gya
0
870
2022年ヘルスケアアプリのつくり方 / 2022 A Healthcare App Odyssey
gya
0
1.3k
タクシーアプリ「GO」AndroidにできるところからJetpack Composeを入れている話 / Introduce Jetpack Compose gradually
gya
0
790
Gradle BOM importでライブラリバージョン管理 / DroidKaigi2019
gya
3
2k
Firebaseで解決するAndroidの機種依存 / Firebase solve android device difference
gya
2
1.3k
Other Decks in Technology
See All in Technology
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
310
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
270
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
270
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
110
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
180
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
200
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
The Pragmatic Product Professional
lauravandoore
32
6.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Music & Morning Musume
bryan
46
6.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Documentation Writing (for coders)
carmenintech
66
4.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
タクシーアプリ『GO』Androidの リリースフロー 2023.10.31 / 後夜祭 DroidKaigi 2023 Kohei Yamamoto GO株式会社
© GO Inc. 2 GO株式会社 ユーザーシステム開発部 / Kohei Yamamoto 新卒でIT企業に入社後、継続的なサービスの成長に携わりたいと思
い2021年8月に入社。 タクシーアプリ『GO』のAndroidアプリ開発を担当。 BIOHAZARD RE:4 で恐怖の克服を試している。車が欲しい。 @farundorl @gyamoto 自己紹介
© GO Inc. 3
© GO Inc. 4 01 タクシーアプリ『GO』 Androidのリリースフロー
© GO Inc. 5 タクシーアプリ『GO』のリリースフロー QA完了 + リリースバージョン、 リリースノート、 公開日時の決定
GooglePlayで段階的な 公開として “99%” 割合 でリリース リリース当日 リリース前日 0 1
© GO Inc. 6 タクシーアプリ『GO』のリリースフロー リリース後に問題が 発生してないか調査 GooglePlayで段階的な 公開の割合を更新 問題あり
→ 0% 問題なし → 100% リリース後 調査後 2 3
© GO Inc. 7 アプリの段階的な公開 2 3 1 0 新バージョン
アプリ 旧バージョンアプリ 新バージョン アプリ 旧バージョン アプリ 一時的に旧バージョンと新バージョンの両方を公開して 問題が発生した場合に備える
© GO Inc. 8 アプリの段階的な公開 一定割合のユーザにのみアプリを公開する機能 アプリの公開割合を都度更新することが可能 ・例えば 1%→5%→20%→100% と徐々に浸透させる
・『GO』Androidは 99%→100% と一気に公開している もし問題が見つかった場合は、最新アプリの影響を最小限 に抑えるために、段階的な公開を中止できる 段階的な公開を利用したアプリのアップデートのリリース | PlayConsoleHelp https://support.google.com/googleplay/android-developer/answer/6346149
© GO Inc. 9 02 段階的公開でリリース後の問題に備える
© GO Inc. 10 リリース後に問題が発生した場合 リリース後に問題が 発生してないか調査 問題発生 リリース後 対応方針の決定
2 0 1 修正版アプリの用意 2 アプリの 再リリース 3
© GO Inc. 11 リリース後に問題が発生した場合 リリース後に問題が 発生してないか調査 問題発生 リリース後 対応方針の決定
2 0 1 修正版アプリの用意 2 アプリの 再リリース 3 修正版アプリのリリースが完了するまでの間は 問題が発生するアプリのユーザが増え続けてしまう 修正版 アプリ 問題が発生するアプリ
© GO Inc. 12 段階的公開でリリース後の問題に備える 問題 発生 GooglePlayで段階的な 公開の割合を更新 問題あり
→ 0% 問題のリスク判断後 3 0 対応方針の決定 1 修正版アプリの用 アプリの 再リリー
© GO Inc. 13 段階的公開でリリース後の問題に備える 問題 発生 GooglePlayで段階的な 公開の割合を更新 問題あり
→ 0% 問題のリスク判断後 3 0 対応方針の決定 1 修正版アプリの用 アプリの 再リリー 修正版 アプリ 問題が発生する “前” のアプリ 問題が発生 するアプリ 修正版アプリのリリースが完了するまでの間は 一時的に問題が発生する前のアプリがインストールされる
© GO Inc. 14 03 ほぼ100%の段階的な公開
© GO Inc. 15 段階的な公開で考えること → 公開割合をどうする? → いつ公開割合を更新する? リリース内容によって公開割合の必須具合が変わる
・タクシー配車に関連する新機能 → タクシー事業者等と日時を合わせる必要がある ・UI改善や軽度な不具合対応など → 急ぎではない ほぼ100%の段階的な公開を設定した背景
© GO Inc. リリース内容にあわせて公開割合と更新タイミングを調整 すると大変… → 段階的な公開を諦め、通常の公開(100%)にする…? 可能であれば問題が発生した場合に備えたい →
ほぼ100%として段階的な公開を設定すると、 「通常公開と変わらない浸透スピード」と 「何かあった場合に公開を中止できる」が両立できる! 16 ほぼ100%の段階的な公開を設定した背景
© GO Inc. リリース時間 ・午前11時にアプリ公開し、翌日11時に問題ないか調査 → アプリ公開の翌朝に利用した結果をもとに確認する → 1日目で ~10%のユーザに最新版が浸透済みなので
致命的な問題があれば発見できる(はず…!) 17 『GO』Androidのほぼ100%の段階的な公開
© GO Inc. 18 『GO』Androidのほぼ100%の段階的な公開 問題がないかの調査内容 ・Firebase Crashlyticsのクラッシュレポートを確認 → 主に「問題のシグナル:新規」が増えてないか
・バックエンド側でアプリ起因の不具合が起きてないか → アプリに大きな変更がある場合は、念のため リリース前にアプリのAPIリクエスト数が急増 してないかも計測する
© GO Inc. 19 04 おまけ:先週判明したこと
© GO Inc. 20 先週判明したこと 段階的な公開の割合は小数点ありで設定できるため、 実質100%で段階的な公開ができそう 割合99.99999%にするとデバイス数と対象数が一致した
© GO Inc. 21 先週判明したこと 実質100%(=99.99999%)段階公開に設定後も公開割合は 編集可能 ・99%と変わらず「公開を管理」が選択可能
© GO Inc. 22 https://hrmos.co/pages/m o-t/jobs/2100002 タクシーアプリ『GO』の開発を一緒にしませんか
© GO Inc. 文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください