背景介绍
去年接了一个外包,是一个微信小程序,因为微信小程序要求请求的url必须有域名并且还是https。如果买域名加ssl证书就是一笔无用的开销,所以我选择了serverless做为后端。那时看到腾讯云的serverless的最低档是免费,而且正好这个项目的请求量并没有那么大,所以就选择了腾讯云的serverless。
但是本月初,我收到来自腾讯云的邮件:<云函数免费额度和计费调整通知>,从今年的6月起就没有免费的套餐了。最低档的基础套餐费用都需要 12.8 元。这笔开销不大,但是对于该项目依然还是太贵了。所以我解决转移云服务商。
选择的方案就是两种,买个域名或者换其它serverless服务商。前者买一个top域名只要7元,但是只是首年,续费太践同,而换域名每年都搞一次挺累的。所以我选择了换serverless服务商。
有几种选择:百度云(我的调用量可以免费),阿里云(我的调用量可以免费,但是要收流量费)。
百度云的体验
在两个服务商中,我先是选择了百度云。但是百度云的serverless部署用的不是常见的serverless
。而是自家的bsam
,在安装的过程中,bsam
要求的flask
版本和我平时使用软件fava
所需求的flask
版本又冲突了。通过pyenv
解决了一下。才勉强安装上。
然后bsam
要部署nodejs程序的话,还挺麻烦,研究了半天了,打包好了zip
包。用bsam deploy
部署,我看着上传速度达到1m。然后等了很久很久,也没有上传成功,但是一直在上传。也不知道上传个啥。
图1
然后放弃自动部署了,转去网页用手动上传代码zip。
结果遇到卡在60%的问题。所以最后放弃了。
阿里云的体验
要使用阿里云的serverless。要使用@serverless-devs/s
。而不是腾讯原来的serverless Tencent CLI
两者对比。尽管部署工具是一样的,但是其实两边的代码结构还是不太一样。
/
/项目代码
/serverl.yaml
/
/code
/code/项目代码
/s.yaml
所以说我们要之前所有的项目代码移到code
文件夹里,这不会有任何问题,如果不使用git
的话,因为git
并没有对代码文件移动时的处理、只有删除和添加文件两种记录方法。所以当我们移动代码到子文件夹时,git
就认为你删掉了一大堆文件,然后再加进来一大堆。这种方式尽管不影响开发,但是挺不舒服的。
价格对比
只列了我只可能会用到的最低档的价格。
腾讯云 | 阿里云 | |
---|---|---|
调用次数 | 50万次 | 100万免费 |
资源使用量 | 10万GBs | 40万GBs免费 |
流量费 | 2GB | 0免费 |
价格 | 12.8 | 0.8/1G流量,其它免费 |
总结
在成功转移之后的今天,我突然发现可以直接通过学生认证花3.24买3年的Serverless套餐!
可以说我用了数个小时的转移完全是『浪费时间』! 并没有达到我预期的节约金钱的目标不说,还浪费了时间!