开头
我本来觉的nodejs可以搞定serverless很多工作,查阅了一些资料后发现基本上都是自己玩玩的,最多我理解的是多了一层BFF,阿里的中台概念,但这不完全是serverless。
Kubernetes 无服务框架
k8s的serveless的框架基本上还是以golang为主,golang最成熟。 openFass、openWhisk,Knative,fission等等,以后再讲了。
那么我想做什么
- 我想搭一个serverless的应用服务平台,
- 用户可以在上面贡献自己的function
- 也可以串联编排一些function实现一个workflow
- ==>
- 用户部署自己的function,微服务,不用管硬件如何,这个就是serverless的概念
- 用户可以通过拖拽得到工作流实现自己完整链路的应用,这个就是低代码的概念
- 所以
- 我要做的也就是那么回事,网上一搜,其实阿里云、腾讯云、华为云都有函数计算的服务
- 可以说,我想完成一个定制化的私有化部署的函数计算服务。
架构图
- 从上到下是:serverless应用(function)、serverless框架(包含runtime)、k8s、硬件。
- web可以作为一个特殊的function(预先å配置的,独立起的服务进程)
- web做的事情就很简单:
- 创建和管理function。
- 创建:可以根据模板来,然后只要自己改改代码就可以了。
- 部署方便,
- 多方式触发:最常见的应该是API服务
- 创建和管理workflow。
- 需要把函数服务串联起来?
- 但其实比如A函数暴露出来是API服务,那么B函数用的时候,在代码里应该写死的是A函数的API服务地址
大厂的界面
腾讯云
大家自己去看文档
有函数和serverless应用两个概念,具体粒度如下
- 应用由函数组成
- 创建应用会自动创建函数 所以我大概理解serverless应用是web服务框架作为function的一个简单封装,相当于触发条件等都配置了
这个是工作流,我没搞清楚是如何和函数计算关联起来的,应该是根据id写在配置文件里的
华为云
函数,这个和腾讯云的函数理解差不多。
工作流,也还没搞明白如何和函数关联起来,没法拖入。
具体试用后再来更新相关问题的解答。