Vercel 的三个现代 Web 托管替代方案
Vercel 让部署 Next.js 应用变得极其简单。推送到 Git,获得一个 URL。对许多团队来说,这种简洁性证明了其溢价的合理性。但在 2025 年,这种权衡正在发生变化。
定价复杂性不断增加。Hobby 层级的限制对于实际项目来说显得过于严格。构建分钟数和 serverless 计算成本在规模化时让团队感到意外。而且某些工作负载——后台任务、自定义运行时、有状态服务——根本不适合 Vercel 的模式。
如果你正在评估 Vercel 之外的现代 Web 托管平台,三个替代方案脱颖而出:Netlify、Cloudflare Pages 和 Fly.io。每个平台对前端应用的边缘托管采取不同的方法,理解这些差异比比较功能清单更重要。
核心要点
- Vercel 在 Next.js 部署方面表现出色,但其定价和工作流限制促使团队在 2025 年转向替代方案。
- Netlify 提供基于积分的定价,支持广泛的框架,并具有熟悉的 Git 到部署工作流。
- Cloudflare Pages 结合 Workers 提供了一个全栈边缘平台,具有集成的数据服务和有竞争力的价格。
- Fly.io 为需要后台 worker、自定义运行时或全球有状态服务的团队提供容器级控制。
为什么团队在 2025 年寻求 Vercel 之外的选择
核心问题不在于 Vercel 不好。而是该平台针对特定工作流——带有 serverless 函数的 Next.js 应用——进行了优化,并相应地收费。
当团队需要对运行时有更多控制、希望在规模化时获得可预测的成本,或需要 Vercel 原生不提供的服务(数据库、后台 worker、自定义容器)时,就会遇到摩擦。对于超出免费限制但不需要企业功能的副项目来说,从 Hobby 到 Pro 的跳跃感觉过于陡峭。
Netlify:基于积分定价,源于 JAMstack
Netlify 开创了 Git 到部署的工作流,Vercel 后来对其进行了改进。如今,它采用基于积分的定价模型,构建、带宽和函数调用都从共享积分池中消耗。
部署模型: 连接 Git 仓库,配置构建命令,Netlify 处理其余工作。该平台擅长静态站点和 JAMstack 架构,但通过其适配器生态系统支持服务端渲染。
边缘和 serverless 能力: Netlify 提供传统的 serverless Functions(运行在 AWS Lambda 上)和 Edge Functions(在边缘的 Deno 上运行)。Edge Functions 在更接近用户的位置执行,冷启动延迟更低——适用于身份验证检查、A/B 测试或个性化。
开发者体验: 构建插件无需自定义脚本即可扩展 CI/CD 管道。为 pull request 自动生成部署预览。仪表板清晰地显示构建日志和函数指标。
定价结构: 免费层级对小型项目来说仍然现实。积分提供了灵活性,但需要监控——带宽密集型站点或函数密集型应用可能比预期更快地消耗分配额度。
在比较 Netlify 与 Vercel 时,主要权衡是生态系统深度。Vercel 的 Next.js 集成更紧密,而 Netlify 的框架支持更广泛。
Cloudflare Pages:全栈边缘平台
将 Cloudflare Pages 称为”静态托管”完全没有抓住重点。结合 Workers,它是一个全栈边缘平台,具有与传统后端竞争的数据选项。
部署模型: Pages 处理静态资源和构建管道。Workers 在 Cloudflare 的全球网络边缘运行 JavaScript/TypeScript。Pages Functions 让你可以直接向 Pages 项目添加 API 路由,无需管理单独的 Worker 部署。
边缘和 serverless 能力: Smart Placement 自动将计算密集型 Workers 运行在更接近数据源的位置,而不是强制将所有内容都放在边缘。这解决了当函数需要查询特定区域的数据库时的延迟问题。
数据选项: D1 在边缘提供 SQLite。Hyperdrive 通过池化和缓存加速与外部 PostgreSQL 数据库的连接。KV 提供键值存储。R2 处理对象存储。你可以在不离开 Cloudflare 生态系统的情况下构建完整的应用程序。
开发者体验: Wrangler CLI 处理本地开发和部署。学习曲线比 Netlify 陡峭,但上限更高。
定价结构: Pages 和 Workers 的免费层级非常慷慨。超出后按使用付费。Cloudflare Pages 与 Vercel 的比较通常在成本上有利于 Cloudflare,特别是对于高流量静态内容。
Discover how at OpenReplay.com.
Fly.io:基于容器的全球部署
Fly.io 采用根本不同的方法。它不是抽象化服务器,而是为你提供在你选择的区域中的硬件上运行的容器。
部署模型: 将你的应用打包到 Docker 容器中(或让 Fly 从 Dockerfile 构建一个),Fly.io 处理在其全球网络上的分发。你控制哪些区域运行你的应用。
边缘和 serverless 能力: 这不是传统意义上的 serverless。机器可以持续运行或缩放到零。你可以完全控制运行时——安装系统依赖项、运行后台进程、维护持久连接。
数据选项: Fly Postgres 提供带有自动故障转移的托管 PostgreSQL。LiteFS 支持分布式 SQLite。Volumes 提供附加到特定机器的持久存储。
开发者体验: flyctl CLI 管理一切。心智模型更接近 Heroku 而非 Vercel——你部署的是服务,而不是函数。这适合熟悉容器并希望在没有 Kubernetes 复杂性的情况下进行全球分发的团队。
定价结构: 基于使用量的计费,没有固定的 Hobby 或 Launch 计划。你为消耗的计算时间、内存、带宽和存储付费。小规模时可预测,但在更大规模时需要监控。
选择合适的平台
决策取决于你的约束条件:
- Netlify 适合希望获得类似 Vercel 简洁性、更广泛框架支持和基于积分的成本灵活性的团队。
- Cloudflare Pages + Workers 适合需要边缘计算、集成数据服务和激进定价的项目。
- Fly.io 最适合需要容器级控制、后台 worker 或全球分布的有状态服务的场景。
结论
这些平台没有一个普遍优于 Vercel。每个平台都在简洁性、控制和成本之间进行不同的权衡优化。Netlify 提供熟悉的工作流和灵活的定价。Cloudflare Pages 提供边缘优先架构和不断增长的数据生态系统。Fly.io 为复杂工作负载提供容器级控制。正确的选择取决于你的特定项目实际需要什么——而不是在功能比较表中看起来最好的是什么。
常见问题
可以,这三个平台都支持 Next.js。Netlify 和 Cloudflare Pages 使用适配器来处理服务端渲染。Fly.io 在容器中运行你的应用,让你完全控制 Node.js 运行时。迁移复杂性取决于你使用 Vercel 特定功能(如 Edge Middleware 或 Image Optimization)的程度。
Cloudflare Pages 提供最慷慨的免费层级,具有无限的静态请求和大量的每月 Worker 请求配额。Netlify 提供免费层级,但配额是基于积分的,而不是固定的带宽或构建分钟配额。Fly.io 可能为新用户提供少量促销积分,但它没有结构化的免费层级,大多数使用都需要付费。对于静态内容密集型项目,Cloudflare 在成本上胜出。
Vercel 与 Neon 和 PlanetScale 等外部提供商合作。Cloudflare 提供原生选项,包括用于 SQLite 的 D1 和用于 PostgreSQL 连接的 Hyperdrive。Fly.io 提供托管 Postgres 和用于分布式 SQLite 的 LiteFS。Netlify 通过其生态系统依赖外部数据库集成。
Fly.io 是后台任务和长时间运行进程的明确选择。其基于容器的模型允许你运行持久 worker、cron 任务和超过 serverless 时间限制的进程。Netlify 和 Cloudflare 专注于请求-响应模式,并对函数有严格的执行时间限制。
Gain Debugging Superpowers
Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers. Check our GitHub repo and join the thousands of developers in our community.