Firebaseの制限
Google Cloud Platform(GCP)の提供するFirebaseでは料金の一切かからないプランsparkが存在する。
諸兄等には十分ご存じのことと思うが、そのプランではいくつか機能に制限がかけられている。
その制限はどのぐらい許容できるのもなのだろうか。
はじめに
私は仕事でFirebaseのBlazeを利用して開発を行っているが、
ふと強みの一つである無料プランが存在する利点を享受できていないのではと思い当たった。
そのため、この度Sparkプランで簡単なアプリを作成し、どのようなことが可能なのか、
また、その限界はどこなのかの一端を調べてみることにした。
検証した内容
今回はこちらの「100秒当たりの制限」はどのぐらいで使いつくしてしまうかについて調べた。
開発環境
Firebase
nodejs(v8.16.2)
typescript(3.7.2)
vuejs(2.6.10)
ソース
https://github.com/tecoKodera/firebase_spark_test_othello
書きなぐったコードで申し訳ないが、リポジトリは上記にある
動作の様子
結果
複数回呼び出す場合もあるような冗長なつくりにしたが、5秒ごとに1/10の確率で話すBOTと、
オセロ10クリック程度で制限を使い切ってしまった。
やはり複数回呼び出しかねない構造のFunctionsはよろしくないようだ。
今回チャット部の発言時間を自動で記録する処理が特に呼び出し回数を消費してしまっているようだった。
sparkプランで運用するには呼び出し自体を減らすよう設計する必要がある。
終わりに
Firebaseには他にも制限があり、思いがけないところでコツが必要になってくる。
慣れるまでは大変だが、やはりこの速さでwebアプリを作れることは大きな魅力に違いない。
これからも皆様におかれましては素晴らしいFirebaseライフを。