虽然我手头有不少服务器,但是钱不能乱花,能省一点的地方就省一点,所以一般会用上一些 serverless 的服务来缩减成本,这里记录一下现在常用的免费 serverless 服务。
计算服务
vercel
vercel 提供丰富的计算服务和存储服务,每月提供总计 100GB 的服务器流量,一百万的请求计数,1小时的边缘计算 cpu 小时数,按照我使用的情况下来看,一般性的小型服务日常使用是用不完的。
所如果我有什么 demo 或者 node 的项目需要使用,都会通过 vercel 来构建部署,只需要点点按钮就好了。
比如 umami、twikoo 等等,静态页面通常也会通过 vercel 来构建部署,是我使用频率最高的 serverless 服务,限制小,给予的资源非常慷慨。
提示
由于某些原因,其部署的页面通常无法在大陆地区访问,所以一般需要配合自定义域名来工作
github action
我通常使用 github action 来提供构建服务,也并不局限于使用 vercel 构建,因为纯粹的构建和流程控制上,github action 的自由度要高的多,且灵活, github action 提供了 500MB 的储存空间和每月 2,000 小时的构建时间,由于 github action 提供的服务器非常好,通常比我本机构建还要快的多,所以开发频率不高的情况下绰绰有余。
leancloud
leancloud 在前几年修改国内自定义域名的规则后,就不怎么使用了, 以前比较常用的场景是用来跑 轻量的爬虫 或是 提供评论服务 等等。另外就是使用他给的游戏 sdk 提供一些内建账号支持。他的免费版本提供的资源就少很多了,通常是不够用的。而商用版本最低消费每天要 30元 是挺贵的,只建议非常非常小型的项目使用。
而且 leancloud 的开发版本每天最多只能运行 16小时,而且有一个很大的缺点就是冷启动比较缓慢。
cloudflare worker
cloudflare worker 是非常强力的 serverless 服务,他的 冷启动速度极快,基本在 30ms 以内。精简和魔改版本的 node 在这个场景下确实非常强。
限制🚫
对脚本的体积限制很大,只允许 1M 以内的脚本,而且 runtime 有一定的兼容性问题,很多 npm 包都不能使用。
我通常拿他当代理服务享受 cloudflare 提供的 CDN 加速,比如:
- 加速下载 github
- docker image
- npm
或者提供一些超级轻量的 kv 型服务,比如:
- 短链接
- 共享粘贴板
总体好用,缺点是使用的数量多了以后,请求额度不够用,每天有10万次,但是对请求体积的限制小(100MB 以内)。
cloudflare page
cloudflare page 可以同 vercel 一样部署静态页面,但是限制稍微大一点,站点资源不能大于 25 MB,如果要更大得激活 R2 后问会讲。
和 vercel 的静态服务没什么差别,最大的区别是 cloudflare page 和 github page 一样是完全免费的,没有流量限制(vercel 总流量限制为 100GB)。
存储服务
对象存储
oss
阿里云的对象存储,他在符合要求的地区提供的 5GB 免费额度,通常我用它做备份数据:
- 本地软件的 sqlite 数据库文件
- 游戏的服务器的存档
- 私人图床的备份节点
- 私人文件备份
一般来说在游戏运行期间的存档都比较大,少有小的(一般运行久一点的都会达到上 GB 的规模),而游戏一般需要按照小时备份,而且不容易做增量,所以免费额度肯定是不够用的,还需要补充流量包。
单纯做自己数据类的存储备份目前来看是够用的(大约 140MB)。我对所有的重要数据执行多地备份,大约会保存3份,一般选择北京、上海、香港作为三地冗余备份,并开启 oss 自带的本地冗余,oss 不比云服务器,不会出现之前 那种离谱的情况。
警告
同其他的服务不同 oss 的服务价格非常昂贵,请不要暴露任何 oss 地址,一旦超出下行流量的免费额度,将会按照 0.8-1.2 元/GB 的价格收取(视地区),一天刷过 T 都是很轻松的事情。
cloudflare R2
cloudflare 提供的对象存储服务非常好用,给了 10 GB 的免费额度,对于做图床来说绰绰有余,所有的图片和常用的 assets 都会上传到这里,然后通过 cdn.iceprosurface.com 访问,用到现在还没收到过订单。
sm.ms
图床服务,提供的免费额度凑合能用,适合给不重要的图片使用,比如评论区的图片。
KV 型或其他非关系型数据库
leancloud storage
现在不怎么用了,免费额度有限。
cloudflare KV
现在在使用,免费额度 5GB 非常够用, 但是每天写操作只有 1000 写入,显然是不太够用的。
vercel KV
以前用过,提供256MB 每月3w请求,基本不用考虑不够用的。
vercel postgres
给了 256MB 空间,每月60小时的使用量,这个就比较奥妙了,不知道怎么算的,按照类比 tidb 那边的情况,这个用的慢很多,可能是我这边基本没有慢查询的原因。
mongodb cloud
提供 mongodb 的数据库实例,免费提供 512M 的存储空间,不限制每月的请求数量,但是限制每秒100次操作。作为数据库这个空间差不多够用,但是冷启动是在太慢了要接近 400ms 的链接时间,如果一直在使用那倒还行。
关系型数据库
D1
目前免费额度是5GB,五百万次读,十万次写(按行计算),我的观点是如果 KV 不够还是换成 D1 吧,有个小问题就是 D1 得正经的写 sql 稍微麻烦一点。
tidb cloud
tidb cloud 提供 tidb 数据库实例,个人提供 5GB 的免费额度, 读写限制为 50M 的RU, 一般来说 RU 是够用的,但是数据库速度不算快,如果每次都要新建链接大约需要 100ms 以上。
本文标题:我在用的一些免费的 serverless 服务
永久链接:https://iceprosurface.com/tool/free-serverless/
作者授权:本文由 icepro 原创编译并授权刊载发布。
版权声明:本文使用「署名-非商业性使用-相同方式共享 4.0 国际」创作共享协议,转载或使用请遵守署名协议。