通过腾讯云函数理解下serverless
腾讯云函数用了几次了,确实很方便。腾讯云函数就是serverless产品。这里从云函数的使用上理解下serverless。
需求1
在开发微信小程序时需要个中间服务端,其业务非常简单,更多是调用大后端,云函数里只是简单的分发请求和DB查询操作。如果自己部署有成本。考虑后决定使用云函数。
使用云函数后,就不需要关心服务器运维了。
需求2
有个需求是用户可以自行编程实现自己的AI聊天逻辑,只是规范化输入和输出,最终还是在我们的Web中使用。一开始我考虑的是使用WebWorker,但弊端是国内AI服务有跨域限制,因此考虑在服务端解决,同时因为如果直接在后端项目中执行又会有安全风险,需要在沙盒环境下,考虑后决定使用云函数。
云函数本身是个服务端应用,因此没有跨域问题,同时独立沙盒执行不会对我的服务有任何影响。
需求3
有个需求是我需要搭建一个代理服务,如果自己购买服务器,需要考虑机器配置,域名,后期维护等。但使用云函数只需要自己上传下代理代码即可。域名不需要考虑,本身云函数也可以动态调整配置负载,即使是代理日志的话也通过简单的配置即可。
serverless是什么
在多次使用云函数后回过头再看下serverless的定义,就理解了。
Serverless 是一种云原生开发模型,允许开发人员构建和运行应用程序而无需管理服务器。 Serverless 并不意味着不需要服务器,只是服务器由云厂商提供服务器的维护,更新,扩展等无差异化的服务器管理的日常工作。 开发人员可以将其代码简单的打包部署在无服务器,最大化利用云的弹性可扩展性构建自己的应用程序。
写在最后
比如我们在云厂商上买个服务器VPS,我们需要在机器这个粒度上自己去搭建服务,而Serverless的粒度比机器/更细达到一个函数的程度。
综上可以发现云函数的使用中确实是一种聚焦应用/函数,不需要关心服务器的感觉。