借助 Firebase App Hosting 等无服务器产品,您可以快速部署应用,而无需自行管理基础架构。在 Google 解决方案中,对于在 Next.js 或 Angular Web 框架上创建现代 Web 应用的 Web 开发者而言,App Hosting 是最佳选择,因为它管理从 CDN 到服务器端渲染的整个堆栈。
但是,App Hosting 只是多个 Google 无服务器产品之一。根据应用的性质或可伸缩性需求,您可以选择 App Hosting 或其他产品之一:
- Cloud Run:最适合在可配置性最高的容器中运行后端服务。
- Cloud Functions:最适合快速创建单一用途的事件驱动型函数。
- Cloud Functions for Firebase:与 Cloud Functions 类似,但具有简化的模型,可以更轻松地与其他 Firebase 功能(如 Realtime Database 或 Cloud Firestore)集成。
- Firebase 应用托管:非常适合用于托管具有服务器端渲染 (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 在支持的功能上存在一定程度的重叠,因此查看更详细的信息可能会有所帮助。
功能 | 托管 | App Hosting(公开预览版) |
---|---|---|
自动部署服务器渲染的 Angular 和 Next.js 应用 | 实验性 | 是 |
请求超时 | 1 分钟 | 5 分钟 |
缓存超时 | 1 小时 | 1 分钟 |
“Sale-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),则可以继续使用这些应用,而无需进行修改或迁移。