Firebase App Hosting などのサーバーレス プロダクトを使用すると、インフラストラクチャを自分で管理することなく、アプリケーションを迅速にデプロイできます。Google ソリューションの中で、App Hosting は、CDN からサーバーサイド レンダリングまでフルスタックを管理するため、一般的なフレームワークで最新のウェブアプリを作成するウェブ デベロッパーにとって最適な選択肢です。
ただし、App Hosting は Google のサーバーレス プロダクトの 1 つにすぎません。アプリの性質やスケーラビリティのニーズに応じて、App Hosting または次のいずれかのプロダクトを選択できます。
- Cloud Run: 最大限の構成可能性を備えたコンテナでバックエンド サービスを実行する場合に最適です。
- Cloud Run 関数: 単一目的のイベント ドリブン関数をすばやく作成する場合に最適です。詳細
- Cloud Functions for Firebase: Cloud Run 関数と同様ですが、Realtime Database や Cloud Firestore などの他の Firebase 機能との統合を容易にするために、モデルが簡素化されています。
- Firebase App Hosting: サーバーサイド レンダリング(SSR)または生成 AI 機能を使用する最新のフレームワーク ベースのウェブアプリのホスティングに最適です。
- Firebase Hosting : ウェブサイトや画像などの静的アセットのホスティングに最適です。
費用に関して、Cloud Run、Cloud Run 関数、Cloud Functions for Firebase、Firebase App Hosting を使用するには、請求先アカウントが必要です。小規模なデプロイ用の無料枠が含まれており、使用量に基づいて料金が設定されます。Firebase Hosting には、小規模なデプロイで請求先アカウントを必要としない無料枠が用意されています。アプリのスケールアップに合わせて柔軟に拡張できます。
App Hosting と Firebase Hosting
App Hosting は Firebase Hosting の代替として簡単に使用できるものではなく、特定のギャップを埋めるものです。SSR を使用して動的なサーバー レンダリングのウェブアプリを開発している場合は、App Hosting が最適です。静的ウェブサイトや単一ページ アプリのホスティングが必要な場合は、元の Hosting を使用して費用とパフォーマンスを最適化することをおすすめします。
App Hosting と Firebase Hosting はサポートする機能に重複する部分があるため、より詳細な検討が必要になる場合があります。
| 機能 | Hosting | App Hosting |
|---|---|---|
| サーバーサイド レンダリングされたウェブアプリの自動デプロイ | 試験運用版 | ○ |
| リクエストのタイムアウト | 1m | 5 分 |
| キャッシュ タイムアウト | 1 時間 | 1 時間 |
| Stale-While-Revalidate キャッシュ制御 | × | ○ |
| 利用規約 | Firebase | Cloud |
| 静的コンテンツのオリジン レプリカ | 3 | なし |
| 動的コンテンツ領域 | 3 | 6 |
| 継続的デプロイ | 制限付き | 組み込み |
| ビルドプロセス | ローカル環境 | 再現可能な環境 |
| コンテンツをプレビューする | ○ | × |
| フォールト トレラント | グローバルなサービス停止 | リージョンの停止 |
| エミュレータ | ○ | ○ |
App Hosting と Hosting の開発ライフサイクル機能
Firebase App Hosting は GitHub と深く統合されており、アプリを本番環境に効率的にロールアウトできます。変更をライブブランチに push すると、App Hosting は再現可能な Cloud Build 環境でブランチをビルドします。その後、App Hosting ダッシュボード UI で、ウェブアプリの各バージョンをビルドに使用された正確な commit に追跡できるため、特定の時点でどの変更がライブだったかを確認できます。
また、Firebase Hosting は、GitHub アクションを使用した統合も提供しており、リポジトリ内のアクションに応じてプレビュー チャネルを作成し、ライブチャネルにデプロイできます。
Firebase CLI のフレームワーク試験運用版を使用してデプロイされたアプリ
Firebase CLI のフレームワークの試験運用版を使用して Firebase Hosting にデプロイされた最新のウェブアプリの場合は、App Hosting に「移行する」ことをおすすめします。App Hosting には、CDN からサーバーサイド レンダリングまですべてを管理する統合ソリューションがあり、GitHub インテグレーションが向上します。