Firebaseでブログつくるのはおすすめできない
このブログはFirebaseのHostingで発信しているのですが、あっというまに容量の上限に近づいてしまいました。 無料枠の上限なので有料枠に移行すれば解決できますが、それもすぐにいっぱいになりそうなので移動を考え中です。
静的なLPなどであればかなりおすすめですが、継続的にコンテンツを増やしいていくブログを書くとなったら別のサービスを利用したほうが良さそうです。
Firebase Hosting
Firebaseに用意されている機能の一つで静的なコンテンツを発信できます。HTML・JS・CSSを発信することができます。RubyやJavaなどを使ってサーバサイドで動的な処理をすることはできません。
ただしFirebase のFunctionsを使えば、動的な処理を定義することができるようです。こちらはまだ使ってないので詳細はわかりません。
いいところ
いいところを先に書いておきます。
HTTPS
Firebaseによって自動でSSL証明書が発行されるので、ドメインを接続すれば自動でHTTPSでの発信ができます。
CDNでの配信
CDNが用意されているようでコンテンツが勝手にCDNを通して配信されます。自分で用意する必要はありません。たまにブログの更新などがすぐに反映されなくて困ることはありますが、高速でレスポンスが帰ってくるはずなのでかなりいいと思います。
デプロイが簡単
FirebaseのCLIツールをインストールして、コマンドでデプロイができます。初期設定なんかも簡単にやってくれるので簡単に始めることができました。
デプロイしたソースのロールバックも行うことができます。こちらはWEB上の管理画面から操作します。
リダイレクトやリライト、ヘッダーの内容を設定できる
設定ファイルがあり、それの内容を書き換えることでリダイレクトの設定などヘッダー情報を書き換えることができます。キャッシュの生存期限など変更していました。
色んな機能がある
今回はHostingしか利用していないのですが色んな機能があります。DatabaseやStorageなんかも使えます。ただし、無料枠ではそれなりに制限がされています。
どちらかといえばスマホのアプリの開発に使うのがいい様子です。クラッシュログの監視ツールやパフォーマンス測定ツールなどが用意されていました。
無料である程度使える
私は無料枠で利用していました。特にカードの登録とかは必要なくメールアドレスで利用が初められます。 Hositing以外の機能ももちろん無料である程度使えます。
見つかった問題
Hostingするコンテンツの容量制限に届きそうです。
無料枠では「1GB」の容量が用意されており、いつかは容量に届いてしまうなと思っていました。 このサイトはGatsbyで生成したHTML・JS・CSSでできており、まだ数カ月しか運用していないこともあり、まだまだ1GBには届かないはずです。
しかし、デプロイするたびにガンガン容量が増えてしまいました。 ずばりFirebase Hostingの容量の計算方法が、「これまでのデプロイでアップロードした累計のファイルサイズの合計」となっているため、容量を食いつぶしてしまいました。
ブログ自体は1GBには到底届きませんが、これまでのデプロイのファイルサイズをすべてカウントして合計しているため、累計で1GBに届きそうということです。悲しい。
GatsbyではJS・CSSファイルにはファイル名にランダム?な英数字がふられており、build するたびに別名のJS・ファイルが生成されます。ブラウザキャッシュの対策とかでしょうか。それらを毎回アップしていたためにあっという間に容量の制限に到達したようです。
ブログの不要なファイルなどを削除して容量を小さくしても、今までのアップロードの累計となっているため容量の空きは作られません。
有料枠にすれば容量の枠が「10GB」に拡張されますが、すぐいっぱいになるかなと考えています。 従量課金のプランもあるのですが、どうなのでしょうか。ちょっと不安です。
すなわち
ブログなどの継続的にデプロイが必要なものはFirebase Hostingで運用するのはあまり向いていないです。 アプリのLPなど、作りっぱなしで良いもの、頻繁に更新しないものなどであれば良いと思います。
別のHostingサービスに移動しようか
容量いっぱいになってしまうので移動しようかと思っています。今のところはGithub Pageを候補に考えています。独自ドメイン取得して運用していたので、簡単に移行はできそうです。CDNとか結構嬉しかったのですが仕方ないです。 Netlifyも面白そうなのでどちらか試してみます。
Firebaseは新しくて面白かったので、WEBアプリなど別の目的で引き続き利用してみようかと思います。