酷家乐 Serverless FaaS 产品落地实践
在传统业务开发模式中,技术栈、方案往往都会因公司规模、团队而异,如果没有持续做技术沉淀,基本没法复用,各组内选型自由,导致业务间切换成本很高。
在传统业务分工方式中,前端由于涉及到服务端知识的学习成本,无法自行开发和维护 BFF 之类的适配层,后端也因接口定义多、乱而导致系统结构复杂。
在传统业务框架设计中,既要考虑各种技术细节和业务因素,还要考虑后期的维护和升级等等,业务开发前期的沉没成本非常高。
在传统应用实现过程中,服务器资源申请、构建部署、服务质量、服务稳定性等基本服务要求,都需要耗费大量的人力成本去维护。
“统一”了业务组间的业务实现方式,业务切换快
消除服务端技术壁垒,可以使用熟悉的技术栈做业务逻辑开发
对用户“无框架”概念,用户只需要了解函数的输入和输出
从部署、发布、监控“一条龙”式的平台服务,也较好的规避了常规的稳定性问题
通过 serverless-cli 来完成本地创建、开发、调试、发布等用户操作
Serverless 管理平台集成了实时日志查看、全链路查询等实用功能,并提供了一些页面式函数操作
主网关、FaaS 网关做请求转发,再由 Knative 网关转发到函数
Built-in 是虚拟的一层,表示 image 的功能属性
Runtime 是各语言栈的函数运行时,目前使用的主要是 node.js
Knative 和 Kubernetes,底层资源编排
提供在线的,以 API 为管理维度的聚合类 API
提供离线的,以响应式和弹性为特点的离线计算业务
BFF(Backend For Frontend),服务于前端的后端。
SFF(Severless For Frontend),Serverless 化的 BFF 架构。