Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

Firebase Hostingを使用して、動的コンテンツを提供し、マイクロサービスをホストします

Firebase Hosting は、Cloud Functions for Firebase や Cloud Run などのサーバーレス コンピューティング オプションと統合されています。これらのオプションで Firebase Hosting を使用すると、HTTPS リクエストを送信して関数とコンテナ化されたアプリをトリガーし、管理された安全な環境で実行することで、マイクロサービスをホストできます。

Cloud Functions for Firebase : 特定のトリガーに応答するバックエンド コードである関数を作成してデプロイします。次に、Firebase Hosting を使用して、HTTPS リクエストを送信し、関数の実行をトリガーできます。

Cloud Run : コンテナ イメージにパッケージ化されたアプリケーションを作成してデプロイします。次に、Firebase Hosting を使用して、HTTPS リクエストを送信し、コンテナ化されたアプリの実行をトリガーできます。

ユースケース

Firebase Hosting でサーバーレス コンピューティング オプションをどのように使用できますか?

  • 動的コンテンツの提供 — ホスティング サイトで静的コンテンツを提供するだけでなく、サーバー側のロジックを実行している関数またはコンテナー化されたアプリから動的に生成された応答を提供できます。

    たとえば、URL パターン ( /blog/<blog-post-id>など) を、URL のブログ投稿 ID パラメーターを使用してデータベースからコンテンツを動的に取得する関数にポイントすることができます。

  • REST API の構築— 関数を使用してマイクロサービス API を作成できます。

    たとえば、関数は Web サイトのサインイン機能を処理できます。 Web サイトが/でホストされている間、 /apiへのすべてのリクエストはマイクロサービス API にリダイレクトされます。例として、このオープンソースのサンプルを確認してください。

  • 動的コンテンツのキャッシュ— グローバル CDN で動的コンテンツのキャッシュを構成できます。

    たとえば、関数が定期的にのみ新しいコンテンツを生成する場合、生成されたコンテンツを少なくとも短期間キャッシュすることでアプリを高速化できます。トリガーされた関数やコンテナー化されたアプリではなく、CDN からコンテンツが提供されるため、実行コストを削減できる可能性もあります。

  • シングルページ アプリの事前レンダリング— 動的なmetaタグを作成することで、SEO を改善し、さまざまなソーシャル ネットワークでの共有を最適化できます。詳細については、このビデオを見るか、このオープンソースのサンプルを確認してください。

サーバーレス オプションの選択

Cloud Functions for FirebaseCloud Runは両方とも Firebase Hosting と統合され、完全に管理された自動スケーリングの安全なサーバーレス環境を提供しますが、この 2 つのオプションは、さまざまなユース ケースや必要なレベルのカスタマイズされた構成に利用できます。

次の表では、Cloud Functions for Firebase と Cloud Run の使用に関する基本的な考慮事項について説明します。クォータ、制限、指標の完全なリストについては、各製品の詳細なドキュメント ( Cloud Functions for FirebaseまたはCloud Run ) を参照してください。

考慮Cloud Functions for Firebaseクラウドラン
設定Firebase CLI は、初期化からビルド、デプロイまで、複数のタスクを 1 つのコマンドにまとめます。コンテナーはよりカスタマイズ可能なオプションを提供するため、セットアップ、ビルド、およびデプロイのタスクには個別のステップが含まれます。
実行時環境Node.js が必要ですが、使用する Node.js のバージョンを指定できます。コンテナをビルドするときに、ランタイム環境を指定します。
言語とフレームワークのサポート

JavaScript と TypeScript

Express.js などの Web フレームワークがサポートされています。

Go、Node.js、Python、Java など、 Dockerfiles がサポートするすべての言語

各言語の Web フレームワークがサポートされています。

ホスティング リクエストのタイムアウト60 秒 (以下の注を参照) 60 秒 (以下の注を参照)
同時実行関数インスタンスごとに 1 つのリクエスト
(インスタンスごとの同時実行なし)
コンテナ インスタンスあたり最大 1,000 の同時リクエスト
請求するCloud Functions の使用

使用量割り当ては無料ですが、 Cloud 請求先アカウントが必要です。 Firebase FAQを参照してください。

Cloud Run の使用量+ Container Registry ストレージ

使用量割り当ては無料ですが、 Cloud 請求先アカウントが必要です