MaxCompute,基于Serverless的高可靠大数据服务

分享嘉宾:吴永明 阿里巴巴高级技术专家 负责阿里巴巴大数据通用计算平台MaxCompute(原ODPS)框架架构。对高可用分布式系统设计开发有多年经验。先后研发过阿里巴巴机器学习平台在线预测系统和通用大数据计算平台框架系统。
展开查看详情

1. MaxCompute Overview of 基于serverless的高可靠大数据服务 Alibaba Computing Platform 阿里巴巴计算平台的演进,挑战和机遇 吴永明 Tony GUAN Alibaba Computing Platform Group Alibaba Computing Platform Group 阿里巴巴计算平台事业部 阿里巴巴计算平台事业部

2.Agenda 什么是MaxCompute MaxCompute Serverless & 背后的奥秘 MaxCompute低成本的奥秘 MaxCompute数据安全

3.Part 1 – Big Data in Alibaba E-commerce data Alibaba Marketing data Big Data SNS data Logistics data Entertainment data Geographical data and Mobile app Vehicle data monitor & browser Health & PC website data life data monitor data

4. 阿里巴巴计算平台 Overview of Computing Platform Computing Platform 业务 淘宝 天猫 高德 Lazada 合一 蚂蚁 UC 微博 天虹基金 …… DW Suite (Dataworks) 开发环境 开发套件 流水线管理 BI/大屏 监控/部署/运维 通用计算 流计算 机器学习 图计算平台 计算 MaxCompute(MARS) Blink PAI Flash 资源管理 伏羲Fuxi(统一资源管理,阿里层面资源混布) 异构计算资源 CPU CPU CPU FPGA ASIC CPU CPU GPU 存储计算分离/分级存储能力 统一存储 盘古Pangu

5.MaxCompute系统架构 数据应用  服务化 DataHub CLT/IDE/BI/数据管理/数据质量  功能丰富、集成一体 RESTful APIs  数据分享  多租户,共享基 接入层 数据上传/下载 HTTP服务 用户中心 础设施  安全,灵活权限 Worker Executor 控制,多网隔离 Scheduler 分布式元 管理层 Worker Executor 数据服务  规模无限扩展,突破 单一集群和机房的限 … … 飞天作业/在线服务 制 存储 飞天集群:存储/计算 … …  丰富的支撑工具 计算层

6.Part 2 – MaxCompute Serverless & 背后的奥秘 Without Serverless With Serverless • Step 1:购买服务器,搭建集群 • Step 1: 开通账户,创建项目 • Step 2:安装大数据处理软件“全家桶” • Step 2: 上传数据 • Step 3: 导入数据 • Step 3: 写查询(SQL),计算 • Step 4: 写查询(SQL),计算 • Step 4: 获取结果 • Step 5: 获取结果 • Step 6: 运维 …… 服务 MaxCompute Serverless:365(天) x 24 (小 时)高可靠大数据计算、存储服务 聚焦: • 大数据服务如何持续迭代和升级? • 大数据服务的趋势:自动化、智能化 • 数据安全

7.持续改进和发布中的挑战和方案 • 每天都有百万级作业,7x24服务: • 如何能够平稳安全,用户无感知的发布新的功能? • 如何保证新版本的稳定性,没有bug,没有性能 的回退? 方案 • 出现问题后如何能够快速止损等等。 • 测试和数据安全之间的矛盾 • Compiler&Optimizer:MaxCompute Playback工具 • Runtime:MaxCompute Flighting工具 • MaxCompute灰度上线,细粒度回滚

8.Playback工具 • 我们需要快速提高我们编译器,优化器的表达能力,性能优化水 平。 • 如何能够保证升级过程中没有大的Regression. 每天有100万+ 个job,每天都在变化:人工分析的话,每个script仅需要2分钟, 需要91人年 利用大数据计算平台的运算能力 来自我验证新的编译优化器

9.Playback原理 Playback 利用MaxCompute本身灵活数据 Sql Script 处理语言来构造分析任务 Host MaxCompute Compiler 利用MaxCompute本身超大规 Host MaxCompute Optimizer 模计算能力来并行分析海量用户 任务 MaxCompute Execution Engine 利用MaxCompute灵活的UDF 支持且良好的隔离方案,在UDF Customer 中拉起待测的编译器进行编译, Job Repository Sql Script 之后再进行详细的结果分析 New Compiler New Optimizer Result

10.Flighting工具 测试集群验证 Flighting线上验证 用户 • 浪费巨大 99% 机器资源, 使用线上版本 运行生产作业 • 任务负载不足,无法构造对应 场景 • 脱敏:数据安全、低效 1% 机器资源, 程序员上载的测试版 本进行验证 MaxCompute开发者

11.灰度上线 • 按照任务的重要性进行分级 • 细粒度发布,并且支持瞬时回滚,控制风险到最小 任务重要性 0% 100% Tier 1 0% 50% 100% Tier 2 0% 100% Tier 3 时间轴

12.持续开发验证迭代 开发迭代 灰度 Flighting Sprint 2 Playback 开发 回归 发布 灰度 Flighting Sprint 1 Playback 专利2件! 开发 回归 发布 时间轴

13.自动化、智能化 新进程 隔离检测进程 • 服务 - 大数据服务自动化、智能化 • 用户运维 -> 大数据服务工作人员运维 -> 自动化、智能 化运维 OOM • 目的:提高服务可靠性;解放生产力,做更有价值的事, 回馈用户 • 基本思想:不间断收集监控服务各项指标,针对异常指标 检 及时作出应对措施 测 隔 • 实例:OOM自动检测隔离;cost control 离 • 用户查询 示 • 自动识别可优化的查询并给出优化建议 例 隔离池

14.Part 3 – MaxCompute低成本的奥秘 存储 • 压缩 • 列式存储 • 归档 • Recycle 计算 调度 • 优化计算引擎 -> 提高性 • 集群内调度 能&降低作业大小 -> 降低 • 跨集群全局调度 作业资源占用量 -> 承载更 多计算 -> 摊薄成本 成本

15.集群内调度 待调度实例数 资源容器数 调度决策 资源调度 • 性能:增量式调度 • 弹性配额:(削峰填谷) • 任务的最优化调度:latency和throughput 的平衡 • 负载均衡,热点规避 • 任务优先级和抢占:实时性和公平性 • 复杂的任务调度限制:Service/Job

16.二级配额组 多用户共享配额组里如何降低 集群 单一用户大作业导致大量用户等待的影响面? 配额组 1000 cores 600 cores 600 cores 600 cores 1000 cores 作业 什么是配额组 一级配额组 二级配额组

17.Part 4 – 数据安全 鉴权授权 数据多租户隔离 其它 表 物理隔离 E2E存储加密 列 权限控制 数据CRC校验 作业 脱敏

18.More Detailed Info:

19.