Cloud Run(サーバーサイドレンダリング)
Cloud Run
Clouf RunはGCPで提供されているDockerコンテナをデプロイできるコンピューティングサービスです。
Firebase Hostingは静的アセットの配信を基本機能としてますが、サーバーサイドロジックの実行環境として、Cloud FunctionsまたはCloud Runに接続できます。
2019年にCloud RunとFirebaseの連携が可能になりました。
Clooud Runについて説明します。
Cloud RunとHosting連携させるメリット
- CloudRunはasianortheast1を利用できる
- Dockerコンテナベースなので、ポータビリティ性が高い
- ランタイム制約がないので、サーバーサイドレンダリングアプリケ- - ションと相性が良い
- スケーリングし易い
Cloud RunとCloud Functionの違い
FirebaseHostingは静的なアセットの配信を基本機能としていますが、サーバーサイドロジックの実行環境として、CloudFunctionsまたはCloudRunに接続できます。
かつてはCloudFunctionsしか利用できませんでしたが、あるとき、それまでかなり不自由だったFirebaseでのサーバーサイドレンダリングが、一気に業務利用可能なレベルまで引き上げられました。(2019年の4月に、CloudRunとFirebaseの連携が発表されたことがきっかけ)
上記で挙げたようなメリットを考慮するとFirebaseを利用してサーバーサイドレンダリングする場合はCloudFunctionより、ClourRunを利用する方が現時点ではベター。
Cloud RunとHosting連携イメージ
Firebaseを利用したサーバーサイドレンダリングでは、CloudRunを用いてHTMLファイルとJavaScriptからなるアプリケーションを配信し、その他の静的なアセットはHostingから配信します。
参考
Cloud Run: コンテナを秒単位で本番環境にデプロイ | Google Cloud
Cloud Run を使用した動的コンテンツの配信とマイクロサービスのホスティング | Firebase Hosting