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は良いけど辛い/2019-03-27-llt8
Search
Satoshi SAKAO
March 27, 2019
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firebaseは良いけど辛い/2019-03-27-llt8
社内のLTイベント「えるLT Vol.8」で発表した資料です
Satoshi SAKAO
March 27, 2019
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
99
Pkl/2024-04-17-llt31
ottijp
0
130
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
190
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
340
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
190
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
220
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
190
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
120
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
130
Other Decks in Technology
See All in Technology
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
270
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
710
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
330
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
5k
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
3.1k
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
780
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
420
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.5k
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
110
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
190
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
2
300
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
9
4k
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Writing Fast Ruby
sferik
630
63k
Exploring anti-patterns in Rails
aemeredith
3
440
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Color Theory Basics | Prateek | Gurzu
gurzu
0
390
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
A better future with KSS
kneath
240
18k
Being A Developer After 40
akosma
91
590k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
We Are The Robots
honzajavorek
0
280
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
Firebaseは良いけど辛い Satoshi SAKAO えるLT Vol.8 2019/03/27 (Wed) I1
話すひと I2 インフォコム株式会社 オープンイノベーションセンター " アプリケーションエンジニア JS (ES6) / Node.js
/ GCP / IoT / iOS (Swift) フォーカスリーディング / 技術士合格に向けた学習 Satoshi SAKAO @ottijp
話すこと • Firebaseはいいぞ • ユースケースを考えないとうまくハマらなくて詰むかもしれない • ※ 2017年の話なので注意 I3
I4 2017年にやっていた企画と検証システム
認知症ケア支援サービス I5
初期の構成 I6 Z-worksとの連携をHerokuにサービスを置いた その他はFirebaseで完結させようとしていた
Firebaseはいいぞ • サーバサイド実装,インフラ管理が不要 • データストア,ファイルストレージ,プッシュ通知, 認証,アナリティクス,FaaS • Realtime Databaseがすごい便利(NoSQL+WebSocket) •
こりゃあFirebaseだけでいけるぜ!ヒャッハー!! I7
I8 終わりの始まり
RTDBの制約が真綿のように首を締め始めた • 外部キー制約が付けられない • ソートが特定キーのみでしかできない • フィルタリングが限定的 • マイグレーションの辛さ •
同一データパスに対するビジネス条件による アクセス制御の実現が困難 I9
なんとかすればFirebaseだけで頑張れるんじゃないかという意地 • Cloud Functionsでロジックの実装 • Flashlight(ElasticSearch) で検索の補完 • ※結局別のコンピューティングインスタンスは必要 •
Cloud FireStoreの誘惑 • 当時PJの後半くらいでちょうどリリースされた I10
最終的な構成 I11 RTDBでは辛い部分はHerokuに逃げた 認証はFirebaseのみに留めた
I12 失敗と学び
失敗と学び • RTDB(NoSQL+リアルタイム同期)はすごい便利だけど, 結局Pros/Consとユースケースを考えて使わないと死ぬ • Herokuを主,Firebaseを従として, FirebaseをうまくMBaaS的に使えると良かった • スタートガイドだけではなく,もう少し実現したいシステムに 近い具体的な実装を試してみて,適合性を判断すべきだった
• 仮説検証システムでまだ傷が浅くてよかった? I13
$ exit I14