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
0
230
Firebaseは良いけど辛い/2019-03-27-llt8
社内のLTイベント「えるLT Vol.8」で発表した資料です
Satoshi SAKAO
March 27, 2019
Tweet
Share
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Pkl/2024-04-17-llt31
ottijp
0
13
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
76
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
0
54
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
100
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
97
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
110
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
51
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
56
ncurses/2021-05-12-llt21
ottijp
0
140
Other Decks in Technology
See All in Technology
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
1
760
Algyan イベント振り返り
linyixian
0
210
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
820
web-application-security
matsuihidetoshi
0
110
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
990
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
170
反実仮想機械学習とは何か
usaito
PRO
8
3k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
370
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.5k
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
330
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
日本におけるデータエンジニアリングのこれまでとこれから
foursue
16
4.1k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
120
16k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Making the Leap to Tech Lead
cromwellryan
123
8.5k
In The Pink: A Labor of Love
frogandcode
138
21k
Infographics Made Easy
chrislema
238
18k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Building Your Own Lightsaber
phodgson
98
5.7k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
What's new in Ruby 2.0
geeforr
337
31k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
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