2023/07/25: 现在有了 Nitro 这种一份代码就能部署到多个提供商的框架, 其实没太大必要纠结各个平台之间的差异了.

Vercel

地址: https://vercel.com/

2023/07/25: 在国内被屏蔽得很严重, 建议用 Nitro 然后部署到 Deno Deploy

以前叫 now.sh, 不知道为啥改名成了 Vercel.

个人用户使用完全免费, 团队使用收费.

支持使用 JavaScript 和 TypeScript 跑 Node.js. 还支持 Go/Python/Ruby 的 Runtime, 但都还在 Alpha 或者 Beta 阶段.

除了官方的 Runtime 外, 还有一些社区开发的 Runtime. 现在有Bash/Deno/PHP/Rust.

使用案例

优缺点

最主要的优点是支持的语言多, 正常使用免费版一般都够用. 部署后会获取一个免费的vercel.app后缀的域名, 绑定自己的域名也是免费的.

域名绑定可以选择A记录CNAME记录(76.76.21.21 和 cname.vercel-dns.com), 据说是使用了叫 Anycast 的奇妙技术去降低延迟.

如果发现速度不理想, 可以设置成下面几个比较近的 IP 试试.

2023/07/25: 官方发邮件过来建议使用 Anycast IP, 说是下面的 IP 可能会随时失效

1
2
3
18.162.37.140/18.178.194.147 [香港 Amazon数据中心]
104.199.217.228 [台湾省彰化县 Google云计算数据中心]
52.76.85.65 [新加坡 Amazon数据中心]

CLI 工具使用起来也非常方便, 跟 GitHub 的整合也很好,可以很方便地本地测试.

缺点是 Node.js 的版本支持比较慢, 16.x 版本的今天 Vercel 能使用的最新版本却只是 14.x.

Deno Deploy

地址: https://deno.com/deploy/

Beta 阶段期间免费, 正式版是否收费未知.

2022/06/07: 提供免费版本, 每天 100,000 次请求, 还算够用.

Deno 官方的部署服务, 只支持跑 Deno, 开发语言可以使用 TypeScript 和 JavaScript.

2023/07/25: Deno 现在对 npm 包的支持已经很不错了, 能正常跑不少 npm 上的包. Deno Deploy 也是支持 Deno 的这个特性的

使用案例

  • Random Cute Bot 一个纯粹的 Discord 机器人, 可以使用斜线命令获取可爱的图片
  • bilibili-real-url 获取 bilibili 视频和直播的直链, 但画质很低 🤡

优缺点

优点是开发一个功能真的是非常非常非常简单和快速, 而且是 Deno 官方提供的服务, 不太可能会出现跑路之类的情况. 在中国的访问速度也挺快的.

个人感觉 Deno 简直就是为了 Serverless 而生的.

缺点, 只支持 Deno, Beta 阶段过了可能会收费.

Cloudflare Workers / Cloudflare Pages

地址: https://workers.cloudflare.com/

每天可以免费 100,000 次请求, 一般来说都够用.

使用案例

优缺点

优点大概是出身好, 能使用 Cloudflare 的巨量的节点资源.

官方介绍是说支持 JavaScript、Rust、C、C++以及其他编程语言, 但其实是要编译成 wasm 然后执行的, 并不是原生支持, 所以开发体验上其实挺糟糕的.

2023/07/25: 现在好像只支持 JavaScript 了

跟 GitHub 之类的第三方平台的关联也不好, 使用起来并不是那么方便.

2023/07/25: 现在除了 Workers 还有个 Pages, Pages 也可以进行运算, 两者在使用上感觉没什么区别.

Netlify Functions

还没使用过, 但好像也免费. 什么时候体验过了再补充.

2023/07/25: 如果后端是 Node.js 的话用起来跟 Vercel 的体验差不多

Heroku

中国访问速度太慢了, 不推荐.

已经不让白嫖了 🤡

Google FireBase

三个月的免费配额太低了, 而且按流量收费很有可能一觉醒来房子都没了(虽然我本来都没), 不推荐.