借助 Firebase App Hosting 等无服务器产品,您可以快速部署应用,而无需自行管理基础架构。在 Google 解决方案中,App Hosting 是 Web 开发者在 Next.js 或 Angular Web 框架上构建现代 Web 应用的最佳选择,因为它可以管理从 CDN 到服务器端渲染的全栈。
不过,App Hosting 只是 Google 众多无服务器产品之一。根据应用的性质或可扩缩性需求,您可以选择 App Hosting 或以下任一产品:
- Cloud Run:最适合在容器中运行后端服务,可实现最大程度的可配置性。
- Cloud Functions:最适合快速创建单一用途的事件驱动型函数。
- Cloud Functions for Firebase:与 Cloud Functions 类似,但采用了简化的模型,可更轻松地与 Realtime Database 或 Cloud Firestore 等其他 Firebase 功能集成。
- Firebase App Hosting:非常适合托管具有服务器端渲染 (SSR) 或生成式 AI 功能的基于现代框架的 Web 应用。
- Firebase Hosting :非常适合托管网站和图片等静态资源。
关于费用,Cloud Run、Cloud Functions 和 Firebase App Hosting 需要有结算账号才能开始使用,提供适用于小型部署的免费层级,并且价格基于用量。Firebase Hosting 提供免费层级,小型部署无需结算账号,并且可随着应用扩容而灵活扩展。
App Hosting 和 Firebase Hosting
App Hosting 不能直接替代 Firebase Hosting,而是填补了特定的空白。如果您使用 Angular 或 Next.js 通过 SSR 开发动态服务器端渲染 Web 应用,App Hosting 绝对适合您。如果您要托管静态网站或单页应用,不妨使用原始 Hosting 来优化费用和性能。
由于 App Hosting 和 Firebase Hosting 支持的功能有一定程度的重叠,因此详细了解一下可能很有帮助。
功能 | Hosting | App Hosting(公开预览版) |
---|---|---|
自动部署服务器端渲染的 Angular 和 Next.js 应用 | 实验性 | 是 |
请求超时 | 1 分钟 | 5 分钟 |
缓存超时 | 1 小时 | 1 分钟 |
Stale-While-Revalidate 缓存控制 | 否 | 是 |
服务条款 | Firebase | 云 |
静态内容源副本 | 3 | 无 |
动态内容区域 | 3 | 1 |
持续部署 | 受限 | 内置 |
构建流程 | 本地环境 | 可重现的环境 |
预览内容 | 是 | 否 |
容错 | 全球服务中断 | 区域性服务中断 |
模拟器 | 是 | 否 |
App Hosting 从公开预览版状态转换为正式版后,其中许多功能领域都将得到扩展和改进。
App Hosting 和 Hosting 的开发生命周期功能
Firebase App Hosting 与 GitHub 深度集成,可高效地将应用发布到生产环境。当您将更改推送到正式分支时,App Hosting 会在可重现的 Cloud Build 环境中构建该分支。然后,在 App Hosting 信息中心界面中,您可以跟踪 Web 应用的每个版本,了解其构建所用的确切提交内容,以便了解在特定时间哪些更改生效。
Firebase Hosting 还提供一定程度的GitHub 操作集成,以便根据代码库中的操作创建预览渠道并部署到实际渠道。
使用 Firebase CLI 中的框架实验部署的应用
对于使用 Firebase CLI 中的框架实验部署到 Firebase Hosting 的 Next.js 或 Angular 应用,我们建议“升级”至 App Hosting。借助 App Hosting,您将获得一个统一的解决方案来管理从 CDN 到服务器端渲染的所有事项,并可享有经过改进的 GitHub 集成。
如果您使用实验性 CLI 部署了其他类型的应用(例如 Flutter 或 Vite),则可以继续使用这些应用,而无需进行修改或迁移。