去年 3 月一个客户给我打电话,一个独立创始人,他搭建了一个 Next.js 应用,在 Vercel 的 Hobby 计划上发布了,然后向 4,000 个订阅者发出了产品猎人的发布。到上午 11 点,他的网站被限流了,他的 Serverless Function 调用在一个上午就超过了每月限额。他确信 Vercel 出问题了。其实没有。他只是从来没有真正读过"免费"意味着什么。in a single morning. He was convinced Vercel had broken something. It hadn't. He'd just never actually read what "free" meant.
这种情况发生的次数比应该的要多。Vercel 的免费层确实很有用,但围绕它的营销造成了人们期望的东西和他们实际得到的东西之间的差距。所以让我们缩小这个差距。
---
Vercel 的 Hobby 计划实际包含的内容
Hobby 计划是免费的、永久的(不是试用),并为个人项目涵盖了令人惊讶的大量内容。截至 2024 年,这是你能使用的:
- 带宽:每月 100 GB 100 GB per month
- Serverless Function 执行:每月 100 GB 小时 100 GB-hours per month
- Edge Function 调用:每月 500,000 次 500,000 per month
- 构建分钟数:每月 6,000 分钟 6,000 per month
- 部署:无限制(是的,真的) Unlimited (yes, really)
- 并发构建:1 个 1
- 自定义域名:支持 Supported
- HTTPS/SSL:通过 Let's Encrypt 自动配置 Automatic via Let's Encrypt
- 分析:基础版(不是完整的 Web Analytics 产品) Basic (not the full Web Analytics product)
- 团队成员:仅限你。没有协作者。 Just you. No collaborators.
这份清单看起来不错。对于作品集网站、个人项目或低流量博客来说,确实够用。我自己用过 Hobby 套餐做个人实验,包括我在 2022 年构建的一个小工具,用来抓取 Southwark 的公开规划申请。它完美运行了好几个月,我根本没操心过。
但是一旦你开始为别人构建项目,或者预期会有真实流量,你需要看看表面数字之外的内容。for someone else, or expecting real traffic, you need to read past the headline numbers.
---
没人会读的部分:商业使用被禁止
这是最容易让人吃亏的地方。Vercel 的服务条款明确说明 Hobby 套餐仅适用于非商业个人项目。你不能用它来部署客户网站。你不能用它来运行你收费的 SaaS。你不能用它来做任何业务,即使流量很低。Terms of Service explicitly state that the Hobby plan is for non-commercial personal projects. You cannot use it for a client site. You cannot use it to run a SaaS you're charging for. You cannot use it for a business, even if the traffic is low.
我不是在危言耸听。Vercel 不会在你加上 Stripe 付款按钮的那一刻就给你发律师函。但如果你读过条款,那么一旦涉及金钱交易,你就违反了协议。
我在 2020 年刚开始使用 Vercel 时,差点把一个小电商客户项目部署到 Hobby 套餐,因为我想"只是一个测试部署"。我在最后一刻阻止了自己。Pro 套餐每个用户每月 $20,这是允许商业使用的门槛,说实话,对于客户项目来说,这点钱换来合规的托管并不多。
如果你是代理公司或自由职业者,这在法律上很重要,不仅是技术层面。
---
无服务器函数:免费套餐快速吃紧的地方
Serverless Functions 的每月 100 GB 小时限制听起来巨大。但实际上不然,取决于你在做什么。
GB-hours 实际上如何计算
GB-hours = (分配的内存 GB 数)×(执行时间小时数)。一个函数以 1024 MB(1 GB)运行一秒钟大约消耗 0.000278 GB-hours。听起来很小。但如果你有一个在每次页面交互时触发的 API 路由,而且你的流量合理,秒数就会堆积起来。
Vercel 的默认函数内存是 1024 MB。Hobby 的持续时间限制是每次调用 10 秒。在 Pro 上,这提高到 60 秒,在 Enterprise 上你可以配置更长的时间。如果你的函数需要调用外部 API、进行一些计算并写入数据库,10 秒实际上是一个硬约束。10 seconds per invocation. On Pro, that goes up to 60 seconds, and on Enterprise you can configure much longer. If your function needs to call an external API, do some computation, and write to a database, 10 seconds is actually a hard constraint.
去年我有一个 Seahawk 项目,客户希望在上传时使用 OpenAI API 生成图片的替代文本。在 Hobby 上,超时会在响应返回之前一半的时间内杀死函数。那时我们已经在用 Pro,但如果有人试图在 Hobby 上构建这个功能,他们会调试一个其实不是 bug 的问题。
冷启动
Hobby 函数的冷启动比 Pro 更频繁。Vercel 没有公布确切的数字,但 Vercel 文档透明地说明 Hobby 分配的资源较少。对于低流量网站和不频繁函数调用,800 毫秒到 1.5 秒的冷启动是正常的。对于任何需要快速 API 响应的情况,这都是可以察觉的。Vercel documentation is transparent that Hobby has fewer resources allocated. For a low-traffic site with infrequent function calls, cold starts of 800ms to 1.5 seconds are normal. For anything requiring snappy API responses, that's noticeable.
---
带宽和构建时间:没你想的那么可怕
每月 100 GB 的带宽对大多数个人项目来说已经足够。一个典型的 Next.js 博客,配合优化的图片和正常工作的 CDN,不会用到 10 GB。当你提供视频、大文件或流量确实很高但资源未优化的页面时,带宽上限才会成为相关因素。
构建分钟数甚至更加充裕。每月6,000分钟相当于100小时。即使你在一个繁忙的项目上频繁部署,也得费劲才能超过这个限制。我从未见过个人开发者在正常工作中达到Hobby的构建分钟数上限。
有一点要注意:Vercel会计算所有构建,包括拉取请求触发的预览部署。如果你使用GitHub集成并打开大量PR,这些会累积。仍然不太可能成为问题,但值得了解。all builds including preview deployments triggered by pull requests. If you're using GitHub integration and opening a lot of PRs, those add up. Still unlikely to be a problem, but worth knowing.
---
超过限制会发生什么
在Hobby上,Vercel不会因超额向你收费。这听起来不错。但不一定是这样。
他们改做的是,一旦你达到某些上限,就停止提供你的网站或限制函数。没有宽限期,没有在80%时的电子邮件警告,也没有自动升级。你的网站会宕机(或你的函数停止响应),直到月度重置。stop serving your site or throttle functions once you hit certain ceilings. There's no grace period, no email warning at 80%, no automatic upgrade. Your site goes down (or your functions stop responding) until the monthly reset.
这正是我的客户在3月份经历的事。他没有设置任何使用量警报,没有考虑调用上限,最后吃了亏。在Pro上,超额部分会被收费(这至少能保持网站正常运行)。在Hobby上,体验是二元的:要么工作,要么不工作。
Vercel确实提供使用量仪表板,你可以设置通知。从第一天就这样做。进入你的项目设置,找到使用量部分,设置电子邮件警报。这只需要三分钟,而且它曾经帮我避免过尴尬的客户通话。
---
一个协作者的限制是个真正的问题
没有团队成员。就是这样。你不能添加客户来审查部署。你不能引入第二个开发者来推送代码。你不能通过 Vercel 仪表板给设计师预览访问权限。
对于自由职业者来说,这可能是最实际上烦人的限制。Pro 计划(每座位每月 $20)改变了这一点,对于任何需要其他人访问 Vercel 仪表板的项目,你基本上被迫升级到 Pro。
有一种变通办法:你可以与任何人共享预览 URL,而不需要给他们 Vercel 账户。这可以很好地满足客户审查的需求。但如果第二个开发者需要部署或管理环境变量,Hobby 不支持。
---
Hobby 实际上是正确选择的时候
听我说,我不想让 Hobby 计划听起来没用。它不是。
以下是我会毫不犹豫地告诉某人坚持使用它的情况:
- 你正在为自己构建投资组合网站
- 这是一个没有收入的个人副项目
- 你正在学习 Next.js 并想要一个真实的部署环境
- 你在建立原型,还没决定是否值得正式开发
- 你运行的是静态网站或低 JS 应用,无服务器函数几乎没有用武之地
免费 CDN、自动 SSL 和即时 Git 连接部署确实很出色。Vercel 在这里做得很好。对于个人使用,Hobby 计划是最好的免费托管产品之一。Netlify 的免费层相当,也值得与之并列考虑,尽管 Netlify 有自己的限制。Netlify's free tier is comparable and worth considering alongside it, though Netlify has its own set of limits.
当人们把 Hobby 当作真实项目的生产层时,问题才真正开始出现。
---
Hobby vs Pro:真实的升级决策
Pro 计划是每个团队成员每月 $20。对于开发一个商业项目的独立开发者,那就是每月 $20。作为参考,这比一个 Figma 席位还便宜。
Pro 上有意义改变的东西:
- 允许商业使用
- 函数超时从 10 秒增加到 60 秒
- 带宽增加至 1 TB
- Serverless Function 执行时间增加至 1,000 GB-hours
- 你可以添加团队成员
- 并发构建增加至 12 个
- 你获得适当的 Web Analytics
- 更快的支持响应时间
如果你正在向客户收费进行项目构建,托管应该使用 Pro 计划。要么客户直接付费(理想情况),要么你把费用纳入项目成本。不应该仅仅因为 $20/月的费用就让客户网站使用法律上禁止商业用途的计划。
对于拥有合规要求、SSO 或需要有保证 SLA 的大型组织,可以选择 Enterprise,这是自定义价格。Vercel 发布了完整的计划对比,值得收藏。full plan comparison that's worth bookmarking.
---
FAQ
我可以在 Vercel 的 Hobby 计划上运行客户网站吗?
不可以。Vercel 的条款明确限制 Hobby 计划只能用于个人的非商业项目。如果客户付费给你,或者网站以任何形式产生收益,你需要 Pro 计划。它是每月 20 美元,无论从法律还是道德角度,这都是正确的做法。
Vercel 的免费计划是否支持自定义域名?
支持。你可以免费将自定义域名附加到 Hobby 项目。SSL 会自动处理。在这一点上,Vercel 相比一些竞争对手确实很慷慨。
如果我在 Hobby 上超出带宽或函数限制,会发生什么?
Vercel 不会因为 Hobby 的超限而向你收费。相反,你的网站或函数会被限流或停止,直到月度重置。没有自动升级或宽限期。在项目仪表板中设置使用情况警报,这样你就不会措手不及。
Vercel Hobby 对 Next.js 开发好吗?
对于学习和个人项目来说,绝对没问题。Git 集成、预览部署和自动 SSL 使其成为一个非常好的开发环境。这些限制只有在你发布真实流量或商业意图的东西时才会成为问题。
Vercel Hobby 与 Netlify 免费层相比如何?
大体上差不多。两者都提供免费 SSL、基于 Git 的部署和 CDN 交付。Netlify 的免费层提供 100 GB 带宽和每月 125,000 次无服务器函数请求(10 秒超时)。Vercel 的 Edge Network 通常被认为对 Next.js 特别更快,这很合理,因为 Vercel 构建了 Next.js。对于非 Next.js 项目,选择不那么明显,取决于个人偏好。
---
Hobby 计划不是诡计。不是欺骗。它对设计用途的作用完全符合说明。问题在于把它当成其他东西。如果你在开发真实的、商业的或协作项目,花 20 美元吧。如果你只是为自己开发,Hobby 真的很不错,我一直推荐 Seahawk 的初级开发者用它作为学习部署的第一站,无需承担管理服务器的负担。
了解你运行的是什么。读一遍限制。然后继续构建。
