使用原因
前几年微信推出了云开发服务,看了一下官方出的介绍和教程便开始入手使用了,原因主要有以下几点:
- 无需搭建后端服务,自带云函数、云数据库 、云存储等功能,开箱即用Serverless
- 可选择按量付费,对资源消耗少和用户少的项目来说几乎免费
- 与微信生态整合,免鉴权调用微信接口,无法传统模式中各种鉴权机制的开发
- 微信私有协议,避免项目接口被抓包或攻击
前期在三四个功能较简单的小程序中使用了云开发,感觉开发很方便效率也较高,而且由于用户较少,半年产生的费用也才一两元,部分云资源不够用的项目还开通了入门付费版,一个月几元但也很便宜。微信开发者社区也一片祥和,更多的个人开发者投入到微信云开发的怀抱中。然而,好景不长,一份官方涨价公告打破了这份宁静。
费用暴涨
2022年07月04日微信官方发了一个计费调整公告,其中有一项是云开发添加了一个基础套餐,价格为19.9元/月(且后期可能恢复到原价39/月)。这个调整无疑极大地提高了使用成本。调整公告下也是一片哀嚎,各种抱怨微信这次涨价太多,也有部分开发者宣布停止维护使用云开发的项目(写这边文章的时候貌似已经看不到评论了,但是从公告访问量可以看出这次价格调整引起了很大的争议):
在实际的使用中发现,这个费用是根据云开发环境收费的,也就是说,每个小程序有一个开发环境加一个正式环境,那么每个月的费用就是39.8元,当时自己有四个小程序使用了云开发,如果不进行调整的话每个月的费用将达到一百多元。由于自己开发的小程序都是免费使用的工具,并且这几个小程序功能都较为简单,仅仅使用了很少部分的云开发资源,所以当时无法接受从几元到一百多元的涨价。
好在微信给了一些过渡时间,在云开发收费之前,自己将所有的云开发相关功能整合到了一个环境中(云开发可以跨小程序共享环境),删除了所有环境。之前小程序还有用户在使用,所以就打算先每个月续费一下,后期有空了再使用常规开发方式将项目进行重构。
每月催缴
由于之前的想法是抽空将项目进行重构并不打算一直续费,但是自己没有下定决心去执行,这就导致了每个月会收到到期提醒短信:
虽然每个月19.9元的费用可以接受,但是每次收到这种短信的都是总感觉自己欠腾讯钱一样,心里很不舒服。本来是为了公益开发一些工具免费给大家使用,但是却被腾讯从中赚取了费用,于是去看了一下云开发的数据库,发现目前部分小程序还有用户在使用,最终下定决定将项目重构,以后不再续费。
项目重构
由于使用云开发的小程序比较简单,便花了一个周末的时间将项目进行了重构,整体过程较为顺利。
前端代码
之前小程序大部分使用的是微信小程序原生+Vant开发的,由于近些年一直使用的是uniapp开发小程序,并且微信小程序原生开发较为麻烦,所以使用unipp+uView将前端进行了重构,整体页面风格几乎没有改变。
后端代码
后端使用了nodejs+express框架进行重构,由于云开发也是使用的nodejs,所以这部分重构起来较快。部分接口需要微信鉴权改成了传统鉴权方式,云开发直接增删查改数据库的功能也用mysql进行了替换。
数据库
数据库迁移较为麻烦一些,云开发自带的数据库只支持csv和json导出,不支持常用数据库形式的导出。最后在Navicat的引导下,将数据迁移到了mysql数据库中。
文件存储
文件迁移也较多麻烦,之前小程序中产生的文件是直接放在云存储中的,无法直接迁移出去,于是写了个脚本将文件批量下载下来并通过oss-browser上传到了阿里云oss,后面生成的文件也直接通过接口传到oss中。
服务部署
使用云开发时部署很方便,直接通过开发者工具将本地的云函数进行上传即可。现在改为使用阿里云的流水线发布将后端服务打包成一个Docker镜像,然后将镜像扔到自己的服务器中运行。
感想
近两年没有关注过微信云开发,这次重构的时候看了云开发操作后台发现经过这么长时间,云开发的功能并没有较大改动。或许在国外Serverless流行的时候微信也想做出类似的产品,但是从目前国内的环境来看Serverless并没有推广开来,或者说未推广就已经凉了。微信目前也不会继续投入大量资源进行研发,仅仅是维持目前的状态,保留愿意为云开发付费的用户,劝退不愿付费的开发者。
经过这个事件之后,自己不敢再图省事使用一些免费的开发资源,后期隐患太大。
天下没有免费的午餐,免费的才是最贵的。
4 条评论
想想你的文章写的特别好https://www.ea55.com/
想想你的文章写的特别好https://www.237fa.com/
想想你的文章写的特别好https://www.237fa.com/
博主真是太厉害了!!!