借助 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 函数类似,但使用简化的模型,可让您更轻松地与其他 Firebase 功能(如 Realtime Database 或 Cloud Firestore)集成。
- Firebase App Hosting:非常适合托管基于框架的现代 Web 应用,且具有服务器端渲染 (SSR) 或生成式 AI 功能。
- 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 两者支持的功能有一定程度的重叠,因此更详细的查看可能会有所帮助。
功能 | 托管 | 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),则可以继续使用这些应用,而无需修改或迁移。