搜索推荐Serverless架构和业务中台技术实践 沈敏

Razor

2019/10/19 发布于 技术 分类

文字内容
1. 搜索推荐Serverless架构和业务中 台技术实践 沈敏 阿里巴巴高级技术专家
2. 在此键入姓名 在此键入tittle
3. ⾃自我介绍 阿里巴巴在职6年,专注搜索推荐及大数据研发方向,目前负责阿里个性化平台技术架 构,是目前集团业务规模最大的serverless平台,经历了双11大促百万级QPS稳定性 考验,不断在挑战双11技术极限和想象力。团队以“让天下没有难开发的业务”为 slogon,支持集团业务的快速迭代和创新,追求让用户真正只关心自己的业务逻辑。
4. ⽬目录 搜索推荐中台介绍 Serverless实践 茶歇的双11
5. 搜索推荐整体架构(AI·OS)
6. 标准化:从搜索到推荐 ABFS:基础特征服务 iGraph:图引擎 BE/DII:召回引擎 RTP:Rank Service HA3:搜索引擎 AOP:一站式机器学习平台 TPP:灵活业务平台
7. TPP: 搜索推荐业务平台 支持算法及业务的快速迭代,让用户真正专注自己的核心逻辑 集团最大业务规模serverless平台:服务集团62+BU,万级别场景 集团最大的JAVA单体应用之一 峰值QPS 阿里在线水位最高的JAVA应用之一 双11百万级QPS,万级别容器 2015 2016 2017 2018
8. 搜索推荐中台⽬目标 AI OS Serverless 图化算子化
9. ⽬目录 搜索推荐中台介绍 Serverless实践 茶歇的双11
10. 逼出来的Serverless 新业务创建成本过高 场景/团队爆发式增长 我的集群 资源调配太难,水位极低 过万 双11挑战巨大 我的集群 场景 0 2011 我的集群 2013 2014 2015 2016 2017 2018 2019
11. Serverless的开始:FAAS 关注业务逻辑 剥离业务开发不关心的问题 基于JVM Runtime 面向JAVA高度性能优化 面向在线 百万级低延迟在线服务 快速弹性 全时秒级弹性 快速迭代 快速实验和反馈 传统应⽤用 Faas 新业务成本 git/aone/应⽤用分组/vip/服务框 架/业务逻辑 git/业务逻辑 监控 ALL⾃自建 平台提供细粒度多维度监控 流量量治理理 ALL⾃自建 平台提供限流/降级/负载均衡/ 容灾/切流 资源 ⼿手动 全时快速弹性 ⽆无统⼀一实验体系/协作成本⾼高 灵活实验/快速发布/敏敏捷协作 专注业务逻辑 迭代
12. 产品和体验 一键创建函数和资源就绪 秒级全方位监控 日志分析 监控报警
13. 化解资源之忧:从Docker到JVM虚拟化⾼高密度部署 AI时代永远缺机器 Docker化 更细粒度的隔离:AJDK多租户 高密度部署 代码隔离 资源隔离 双11大促水位50% 热部署: 秒级发布:没有镜像push/pull过程,不再冷启动容器
14. 混布下的调度 从同构到异构 同构: 流量稀疏,性能低 隔离性差 调度简单 异构: 流量聚集,性能较优 隔离性强 二层调度:从容器到场景 流量调度:智能负载均衡
15. 从运维解脱:全时秒级弹性 规模:万级别场景 监控:5s级监控反馈 Fiber:10s级扩容 长尾:0->1/1->0能力 智能:多目标弹性 CPU/超时率/降级率/限流率
16. 算法灵活实验 业务逻辑复杂度: 千行到10万行 实验零等待: AB实验 分层实验 秒级发布 Blink实时效果反馈
17. GraalVM多语⾔言:前后端⼀一体快速迭代 Java Runtime is “SideCar” 多语言无缝对接集团Java生态 前后端一体高效研发
18. Service Mesh:团队协作的利利器器 团队协作: 工程和算法解耦 信息流多个算法团队的解藕 相比istio/envoy: 基本无性能开销 Java语言生态受众广 丰富的自动降级策略 异构下的流量调度 兜底机制
19. Not Only ServerLess 服务调用只占算法/业务的5%代码 复杂推荐场景代码10w+行 相同逻辑的编码千人千面,交接成本巨大 逢大促全员性能优化 离只关心自己的业务逻辑还有很大距离
20. 全图化:业务逻辑标准化 借鉴TensorFlow,PyTorch,Flink设计思路 逻辑层和物理层解耦 同步编程前端语言 零基础编写全异步代码 UDF承接用户业务逻辑 后端全异步执行:高门槛的性能优化下沉平台 AJDK协程 Reactive 业务语义的标准化算子 千人千面的复杂逻辑归一化为高性能平台标准实现 标准化流程模版 真正只扩展自己的业务逻辑
21. 零基础编写全异步化⾼高性能代码 同步编程体验 AJDK协程 Reactive
22. 数据处理理的⾼高性能抽象 借鉴Blink的优化思路:SQL化 平台优化粒度可以细到Long.parse, String.intern等极致的优化
23. 代码级跨团队协作 Faas级协作带来网络/序列化开销 召回,打分衔接数据量太大 在线Latency容忍度低 流程化 定义主流程,部分子图逻辑并行迭代 图合并部署 单机合并部署跨团队大图
24. 搜索推荐业务Serverless总结 用户开发 流量治理 容器Runtime 调度
25. ⽬目录 搜索推荐中台介绍 Serverless实践 茶歇的双11
26. 双11⼤大促⾯面临的挑战:资源&性能 百万级QPS峰值: 算法/业务代码性能缺陷及机器缺口 算法效果和资源的权衡 业务不可准确预估: 预估偏差巨大 业务错峰 性能优化的挑战: 个性化代码 优化的可持续性和可复用性 以上数据均为虚构演示数据
27. 茶歇的双11:算法全⾃自动降级 4级算法降级实验配置: L0(不降级) L1 L2 L3 降级自动化: latency触发降级 超时率触发降级 性能管控: daily run压测管控
28. 茶歇的双11:多租户&流量量调度&弹性调度组合拳 多租户backup机制: online/backup租户混布 避免冷启动 秒级流量调度机制: 峰值超预期,backup租户消峰,为冷启动预留时间 弹性调度: 弹性扩缩容执行,backup恢复不接流
29. 茶歇的双11:智能多⽬目标弹性 cpu单目标弹性的缺陷: 限流->cpu增高不明显->扩容慢 降级->cpu降低->缩容->降级无法恢复 固定cpu目标->超时不降 提水位:几家欢乐几家愁 多目标机制: 限流率/降级率/超时率/租户cpu使用率 全局目标 分场景动态水位目标优化