CorrectRoad's Blog
861 words
4 minutes
Serverless迁移,从腾讯云到阿里云
2022-05-29
No Tags

背景介绍#

去年接了一个外包,是一个微信小程序,因为微信小程序要求请求的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万GBs40万GBs免费
流量费2GB0免费
价格12.80.8/1G流量,其它免费

总结#

在成功转移之后的今天,我突然发现可以直接通过学生认证花3.24买3年的Serverless套餐!

可以说我用了数个小时的转移完全是『浪费时间』! 并没有达到我预期的节约金钱的目标不说,还浪费了时间!

Serverless迁移,从腾讯云到阿里云
https://correctroadh.github.io/posts/transfer-serverless/
Author
CorrectRoad
Published at
2022-05-29