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
Firebase Realtime DB から ActionCable 移行のマネジメントの話
Search
scrpgil
November 07, 2024
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firebase Realtime DB から ActionCable 移行のマネジメントの話
scrpgil
November 07, 2024
More Decks by scrpgil
See All by scrpgil
フレーム問題で考えてみるやる夫スレViewer
scrpgil
0
120
ChatGPTとLangChain さわってみた
scrpgil
0
120
久しぶりに ionic startしてみた
scrpgil
0
270
Ionic 6でWeb3やってみた
scrpgil
0
230
Ionic×Angularで作る ストーリーズ風UI
scrpgil
0
470
Angularで作るモバイルアプリ開発〜スタートアップの開発事情〜
scrpgil
0
700
夢のクロスプラットフォーム開発
scrpgil
0
400
Stencil JSについて
scrpgil
0
460
PWA_Toolkitについて.pdf
scrpgil
0
2k
Other Decks in Programming
See All in Programming
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
Oxlintのカスタムルールの現況
syumai
6
1.1k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
630
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
110
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
dRuby over BLE
makicamel
2
330
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
280
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
110
AI時代のUIはどこへ行く?その2!
yusukebe
21
7.1k
ふつうのFeature Flag実践入門
irof
7
3.8k
JavaDoc 再入門
nagise
0
330
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Side Projects
sachag
455
43k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
230
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
So, you think you're a good person
axbom
PRO
2
2.1k
Done Done
chrislema
186
16k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Become a Pro
speakerdeck
PRO
31
6k
Transcript
Firebase Realtime DB から ActionCable 移行の マネジメントの話 @scrpgil Omotesand.rb#103 2024/11/07
1
自己紹介 榊原宏祐 株式会社キネカ 取締役 CTO 趣味は、将棋・音楽・クラフトビールです 2
3
4
今日話したいこと 引用: https://speakerdeck.com/kentaro/the-secret-of-leadership-and-followership 5
こんなときどうしますか? 部下: Action Cable 使いたいです! 私: ◯◯◯◯ 6
こんなときどうしますか? 部下: Action Cable 使いたいです! 私: いいじゃん!! 7
実際はこう 部下: Action Cable 使いたいです! 私: 何に使うの? それよりテストカバレッジあげる方に時間使ってほしい! 8
行動には説明責任が伴う Action Cable を導入するメリットは? 技術、事業、組織で三軸で考える 技術:開発効率が上がるのか?技術的負債を減らせるのか? 事業:ユーザー体験が向上するのか?収益に貢献するのか? 組織:チームのスキルアップになるのか?採用や教育に有利か? 9
後方の歴史家目線 https://speakerdeck.com/kentaro/the-secret-of-leadership-and-followership 10
脱 Firebase Realtime DB Pub/Sub のためだけにMySQL とは別に Firebase Realtime DB
を使っていた 一斉送信の送信時間増加によるビジネス側への影響が大きくなっていた リージョン間の遅延により、30 万人への一斉送信に 24 時間以上かかる よって、ビジネス側の通知オペレーション控えが起きる 11
脱 Firebase Realtime DB 障害が発生したのも影響 12
Action Cable 使おう! Rails 標準の機能で実装できる 脱 Realtime DB による速度アップ スケーラビリティも確保できる
13
ステークホルダーへの説明 ビジネスチーム 一斉送信の時間短縮により、タイムリーなキャンペーンが可能になる 開発チーム Action Cable の事例作ろうぜ! 技術的知見の獲得 経営陣 Firebase
Realtime DB 消せる コスト削減できます! 14
ロードマップ作成 1. ロードマップの策定 2. 移行変更点 3. 具体的なステップ 4. 進捗サポート 15
1. ロードマップ作成:期間設定 3 ヶ月で終わるプランを引く 基本四半期、それ以上かかるなら何かがおかしい 技術イベント(今回は Kaigi on Rails )への登壇も意識
16
2. ロードマップ作成:移行計画 移行の変更点 Pub/Sub 処理を Firebase Realtime DB から Action
Cable に置き換え DB: Firebase Realtime DB→MySQL に置き換え 履歴取得 API: Firebase Realtime DB から REST API に置き換え 17
2. ロードマップ作成:具体的なステップ Step 1: 2 週間 Firebase Realtime DB のまま、API
だけ作成 talks#index は作成し、過去のトーク履歴は Firebase Realtime DB から取得 クライアント側では Firebase Realtime DB は pub/sub だけ処理 Step 2: 2 週間 talks#index でのトーク履歴を MySQL に置き換え Firebase Realtime DB→ カラム抽出 →MySQL のテーブルに移行 Step 3: 4 週間 Firebase Realtime DB の Pub/Sub 処理を Action Cable に置き換え 18
進捗サポート リソース分配 インフラチームとのつなぎ込み エスカレーション対応の負荷軽減 定例による進捗管理 JSON パース重い問題 7 年分の JSON
を CSV にパースするのに時間かかる 19
完成! 20
成果 30 万人への一斉送信時間が 24 時間 →30 分 Firebase Realtime DB
削除によるコストカット 複数 DB 廃止による設計&実装簡略化 21
振り返って 良かった点 事業 KPI の大幅改善(送信時間 24h→30min ) チームの技術力向上 インフラコスト削減 学んだこと
技術提案を受けた時の判断基準の重要性 ステークホルダーとの合意形成の進め方 22
反省点 最初から「やっていき・のっていき」するべきだった ただし、過去失敗も多かったので実際問題難しい 後からでも理由付けを行い、ステークホルダーに説明することが重要 技術・事業・組織の三軸で説明できる力を開発チーム全体で養う 23
まとめ 今後も「やっていき・のっていき」で新しいことに挑戦していく その際は「技術・事業・組織」の三軸で行動を説明できるようにする 24
ご清聴ありがとうございました 25