serverless 概念
- serverless 可以简单理解为无服务器的服务;
- 有人说函数即服务,也对,也不对。一方面,开发过程只需要一个整合业务逻辑的函数即可;另一方面改有的下游依赖还是要有的,比如DB、缓存、第三方服务,只不过都必须以SDK形成为这个函数提供服务;
- serverless和spring的关系,serverless实现可能会出现IOC概念,同样都是框架,但是serverless要大的多直达底层,是一个集合or整合;
- serverless的优势:
- 底层计算资源以服务接口维度支持无限放大按需分配缩容;
- 快速开发,平级服务接口相互隔离互不影响,修改和发布都是服务接口维度;
- serverless的应用场景
- 微博等突袭高并发场景
- 配置管理平台场景
- 定时场景
- 小型自动化场景
- 小型建站,都不需要买固定CPU和内存的服务器,全站一个函数+mvc+DB+静态资源OK。
serverless实现
- 各家serverless有各家的实现方案,未来很难有小厂商自己搭建serverless产品,小厂商可以继续聚焦现有技术。serverless的实现涉及的技术面非常广泛,小公司难以cover,包括执行引擎、虚拟环境、资源调度、自动扩容、云计算等等。
阿里云serverless 实践
- 支持python、php、java等语言
- 可以在线编辑函数,也可以本地开发后上传jar or 资源文件
- 有平台封装好的sdk,其他依赖自行打包提供
- 阿里云的db、cache、oss、mq等都可以以sdk的形式调用
- 费用计算方式包括执行次数、内存使用量、外网流量等,有免费额度赞
- 案例:钉钉机器人每天自动推送天气预报
knative是google在18年开源的serverless框架
- k8s依赖kubernete实现底层物理资源的管理,网络均衡,docker镜像管理
- k8s包含了build,deploy等概念
网友评论