ついにFirebase Hostingに別れを告げCloudflareへ
こんにちは!出会いと別れの季節ですね。Mizutani(@sirycity)です。
今日はそんなFirebase Hostingとの別れの話です。
Firebase Hostingとぼく
僕は起業してから一貫してホスティングサービスにFirebase Hostingを利用していました。ええ、5年間ずっとです。NetflixやVercelが出ても見向きもせず、Cloudflare Pagesが出ても堪え、雨の日も風の日も使ってきました。
去年からはSSRもできるようになりましたね。嬉しかったです。もうこいつ1人でいいんじゃないか。そう思った日もありました。
しかし心の奥底で小さな不満は芽生え、渦巻き、溜まり続け、そしてこの度新年度を迎えるにあたってついにホスティングサービスのCloudflareへの移行を断行しました。今日はその、儚い別れの話です。
Firebase Hostingで困ったこと
シェアがおそらく低下してきている
2022年ごろからホスティング先としてFirebaseを使う人が減ってきたように思います。原因は言うまでもなくNetlifyとVercelとCloudflareです。あと後述するSSRへの回帰です。僕はFirebaseが御三家に負けているとは思いません。でも世間の評価はそうではなかった。
SSRがサポートされているフレームワークが少ない
↑のページ見れば分かるんですがNext、Astro、Nuxt、SvelteKit等メジャーどころはサポートされてます。まあ後2つは超最近だけど。一方でGatsby、Remix、Honoあたりのちょいマイナーどころが抜けているのが気になりました。別にできるんですよ。Cloud RunとかGAEとかでね。でも僕の用途の大半は中小規模のWebサイトなんです。
SSR周りの機能がしょぼい
↑のフレームワークのサポートもそうなんですが全体的にSSR周りがしょぼいです。主要な所だとプレビューチャネルが使えないのが痛いです。これはそのうちサポートされるだろうけど。
他にもFunctionsがコールドスタートでちょっと待つことがあったり、FunctionsもRunもメモリ256MiBしかないので重い処理できなかったり、かといってGAEに行くと構成がだいぶ大きくなったりと…まあそんなところです。GAEにしたらCIに5分とかかかってびびりました。
設定が多い
GCPと密結合だからしょうがないんですがここ5年で
- ログイン用のAPIキーがFirebase特有からGCPの汎用のやつになったり
- Cloud FunctionsがCloud Runに統合されたり
- Googleドメインがサ終したり
とか他にも色々あって、ただ静的サイトをデプロイするためだけにやることがほんとに増えた印象があります。
世間のSSR回帰
これについてはいろんな見方がありますが少なくとも5年前よりはSSGが流行ってません。SSRに揺り戻しが来てます。それにSSR、安くなりましたね。無料で全然回せるようになりました。総じてSSRきてます。んで、SSRが絡むと前述の通りです。
微妙にランニングコストがかかる
BandWidth制限にちょいちょい引っかかって静的サイトなのに無料で回せなくなりました。そんな大した金額ではないんだけどね。
おまけ:CIがない?
GitHub連携のCIが無いことはよく言われるんですが僕にとってはむしろこれはメリットで、CIを自分で作れるし環境変数をGitHubで一括管理できます。GitHub Actionsはプラグインも多いのでかなり自由度が高いです。でもまあ、別に他サービスもActionsに寄せることは(メジャーではないにしろ)できるんですよね。公式がそのためのActions出してたりするし。
移行先について
というわけで他のホスティングサービスに移行しようかな?とは思ってたんですよ。前から。なので結果的に移行先になったCloudflareと、その他いくつかの話をします。
Netlify
Netlifyは考えてたというか一時期使ってた。でもNetlifyは日本リージョン無いの。…というのは半分言い訳で、移行するほどの決定的な利点が無かったってのが実際のところかなと思います。Netfily CMSとかFormとかは魅力的だけどさすがにロックインしすぎ。
Vercel
Googleアドセンスが無料枠だと使えんってのが大きいです。あとVercel+Nextにするとさ、もう他に移れなくなりそうです。ちょっとロックインが激しすぎます。Nextはまだまだ王者ですが2023ほど圧倒的ではないような感覚があります。VercelはCloudflareに削り取られていきそうです。
その他
- Amplifyという巨人の肩に乗ろうかとも思いましたがインフラエンジニアは僕には無理そうでした。断念。
- Deno Deployも考えたんだけどDenoにロックインするし個人的にはBunに未来を感じるのでやめた。あとSign UpがGitHubのソーシャルログインしかない。
- zeaburみたいなニューカマーも考えたけど資料が少なすぎる。あとSign UpがGitHubのソーシャルログインしかない。
さいごに
Cloudflareへの本格移行を決定したのが3月上旬なんですが既に色々やられてます。Cloudflareの悪いところもだいぶ分かってきた。そちらもそのうち記事にします。Firebase Hosting今まで本当にありがとう。間違いなく僕の人生の一部です。ありがとう。以上。