Needle 渐进FaaS解决⽅案
如果无法正常显示,请先停止浏览器的去广告插件。
1. Needl
渐进FaaS解决方案
⻬穹
2021.10
2. 关于我
陈智浩(⻬穹)
蚂蚁数字金融线体验技术部
Needle Stack发起人
资深Node.js爱好者
Node.js早期玩家
推进落地千万DAU业务
腾讯
FaaS技术构建IoT低码平台
钉钉防疫精灵机器人,服务超百万群 蚂蚁数字金融体验技术Node架构师
Needle Stack发起者
阿里云 蚂蚁
3. 分享大纲
Why:BFF的本质和底层逻辑思考
How:Needle FaaS核心设计
下一代BFF解决方案应该⻓啥
样?
What’s More:Needle + Glue轻研发模式
Next:夯实FaaS底座,持续打磨研发体验
4. Why:BFF的本质
单体服务架构
分布式服务架构
Client
Client
人机交互
本质
分布式系统中介于领域服务和客户端的业务集成服
务
辅助人机界面提供界面渲染和数据操作
价值
架构演进
WebServer
业务集成
SSR
socket.io
Tools
…
快速交付
Server
创新支撑
MicroService MicroService MicroService
领域模型 & 服务
* 仅限内部交流使用,如果需要公开,请联系文档作者
5. Why:蚂蚁数金BFF当前的挑战
多一层开发调试工作
100+BFF 应用、~100万行代码
业务前端人力和成⻓矛盾
高研发成本
高运维成本 高上手⻔槛
多一倍容灾、应急投入
日常QPM亿级别,大促战备常态化
掌握专业的服务端DevOps知识
前端人力吃紧
V
业务前台需求占比高节奏快
大量人力和时间投入
V
低技术成⻓,缺少专家攻关难点
企业级应用框架,千核级别应用的运维保障
* 仅限内部交流使用,如果需要公开,请联系文档作者
6. Why:BFF挑战的底层逻辑思考
Busine
业务研发
Workflo
协作模式
Framewor
代码组织
Delive
交付粒度
应用交付”堵⻋”频发
人员、代码协作成本极高
质量、发布⻛险高
Busine
业务研发
多人协作方案
Workflo
协作模式
Git Flow / Scrum / …
企业级应用框架
Framewor
代码组织
⻔槛高,非业务代码耗损大
应用级别
单测 / 集成 / 部署耗时冗⻓
“智子锁死”
无FaaS可用
Delive
交付粒度
业务交付更快
研发成本更低
⻛险更可控
无需协作
独立灵活,解耦
无框架
0⻔槛,无额外代码
函数级别
快写、快测、快发
* 仅限内部交流使用,如果需要公开,请联系文档作者
7. Why:渐进FaaS方案思考
Busine
业务研发
业务交付更快
研发成本更低
⻛险更可控
基于Chair的函数动态运行方案
基于FaaS的运行时终态
Runtime in App
Runtime in FaaS
业务函数
Workflo
协作模式
Framewor
代码组织
Delive
交付粒度
无需协作
独立灵活,解耦
无框架
业务函数
函数容器(VM)
渐进支持FaaS DevOps
函数容器(逻辑容器)
服务Adaptor(中间件) 服务 Adaptor(Sidecar)
Web应用框架(chair) FaaS容器
0⻔槛,无额外代码
函数级别
快写、快测、快发
函数粒度开发
函数动态部署
函数动态执行
先释放FaaS研发效能优势
* 仅限内部交流使用,如果需要公开,请联系文档作者
8. How:架构大图
应用
场景
应用开发
小程序
H5
平台集成
中后台应用
低码平台
模块开发
数据智能平台
模块云端一体
数据服务
PaaS
网关(RPC/HTTP)
复用业务BFF应用
Needle容器
运行
平面
复用业务BFF应用
Needle容器
业务函数
函数容器(VM)
…
…
…
…
服务Adaptor(中间件)
…
Needle-Runtime Agent:部署 / 监控
Web Framework(chair)
文件同步服务
PaaS
函数部署
管控
平面
Needle管控平台
安全生产
Glue IDE
云端一体模块开发
文档式编辑器
金融级语言Glue
自动化UT
安全演练
灰度部署
监控告警
Pipeline
租户管理:租户 / 群组
资产管理:源码 / 产物
流程管理:版本迭代 / 部署卡点
权限管控
* 仅限内部交流使用,如果需要公开,请联系文档作者
9. How:管控平台开放式设计
开发工具
代码管理
开放式
管控平台
Pipeline
质量工具
变更通知 主动测试
开发
运维工具
CI集成
巡检
测试
跨平台协同
事件
主动调用
生产
产物部署
事件订阅
全生命周期
日志上报
运行时引擎
* 仅限内部交流使用,如果需要公开,请联系文档作者
10. How:高可靠运行时架构 - 高可靠方案
管控
平面
事前预防
构建
CI卡点
事中可应急
部署
可灰度可回滚
运维
容器监控
巡检
产物标准检测 逻辑灰度放量 容器事件上报 健康检查
产物死循环检查 一键回滚 灰度事件上报 容器状态采样
单测验证
部署事件上报
单测覆盖率
运行
平面
运行容器
* 仅限内部交流使用,如果需要公开,请联系文档作者
11. What’s More:Needle + Glue轻研发模式 - 云端一体模块化开发
UI应用
BFF应用
应用级开发
UI 应用
FaaS API
Needle 运行时
Glue IDE
FaaS API
全模块化开发
部分模块化开发
Needle 管控平面
UI模块
小程序/H5
Glue UI渲染容器
Needle容器
云端一体模块化开发
业务函数
构建成Needle标准产物
函数部署
业务数据
模块UI
UI模板 + 业务数据
渲染
移动端卡片模块
流程管理
部署
服务Adaptor(中间件)
UI模板 + 业务数据
* 仅限内部交流使用,如果需要公开,请联系文档作者
12. What’s More:Needle + Glue轻研发模式 - 云端一体模块化开发
产物样例
Glue IDE
代码即文档
状态机自动可视化
余额宝活动卡片
卡片实时预览
* 仅限内部交流使用,如果需要公开,请联系文档作者
13. Milestone:阶段成果 - 效率对比
建/clone项目 / 拉迭代
选择Needle群组
写代码
修改Proxy.js 生成调用代码
写代码
2d
编写Controller调用接口
VS
5min
使用Glue生产Needle资产
自动生成单元测试
使用Glue生产Needle资产
写代码
编写测试用例(0.5d)
联调&发布(1.5d)
线下环境部署联调、线上Chair工单发布
* 仅限内部交流使用,如果需要公开,请联系文档作者
14. Milestone:阶段成果 - 业务落地
研发提效 稳定可靠
400+ 30+
半年预估节约人日 业务应用接入
蚂蚁财富 蚂蚁保险
余额宝 相互宝
* 仅限内部交流使用,如果需要公开,请联系文档作者
15. Next:展望规划
开发体验 极致性能 跨云适配
IDE UX重构
更多前端应用支持 瞬时启动
单TPS成本 协助蚂蚁FaaS基建
多公有云适配
* 仅限内部交流使用,如果需要公开,请联系文档作者
16. THE END
THANK YOU!