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