让一部分开发者先看到未来
造梦者 | 王树彬,阿里巴巴闲鱼架构负责人
01 为什么要做Serverless?
客户端交互层、服务端业务胶水层、领域层边界划分不清晰,这就导致很小的业务需求就需要整条链路的同学参与,协同成本高,开发调试周期长。
服务端存在巨型应用,研发耦合、发布耦合、运维耦合严重,甚至系统稳定性也受到很大挑战,单个业务问题往往会影响整个应用。
运维成本极高。为了保障业务的稳定性和可用性,阿里对每一个应用上线都有相应的规范和规则。哪怕是一个很小的内部应用,一天可能只有一两个访问量,上线也需要遵守既有的规范,这势必会消耗一些固定资源。单个应用消耗的资源可能很有限,但所有应用消耗的资源累积起来也是一个不小的数字。而对于巨型应用,由于影响面巨大,发布时要有更加严格的流程和步骤,一次发布至少要耗时6小时,导致运维成本极高。
02 一边探索,一边实践
云端编程模型一体化框架(Nexus API)
编程语言不统一:编程语言本身虽然不是最大的障碍,但这也确实给前端开发者增加不少门槛,而且更重要的是语言背后的生态、环境与体系更是一道高高的墙。
开发模式与架构割裂,环境复杂:端侧一个工程,FaaS侧也有一个独立的工程,它们背后有自己的一套构建、调试、集成/发布的工具链;除此之外,FaaS 还有自己配套的环境、Runtime、框架作为支撑。开发者面对这样复杂的 FaaS 研发环境与双重的研发工作流是无法做到高效交付的。
语言一体化 开发模式与架构一体化
CLI 开发工具标准化
基础服务 BaaS 化
云端工程一体化
传统巨型应用的Serverless化改造
03 难题与破局
微服务和 Serverless 的选型 在 Functions 之间代码复用 对函数的依赖做统一升级
04 借鉴与思考
05 关于未来
大厂面试题领取方式:加下面我的微信一定要备注(大厂面试): 研究/工作方向+地点+学校/公司+昵称(如Java+上海+上交+可可) 根据格式备注,可更快被通过且邀请进群,领取一份专属学习礼包 扫码加我微信进群 大厂内推和技术交流,和前辈大佬们零距离