大规模平台工程实践血泪史 曾海剑 广东移动云原生总架构师 曾海剑 广东移动云原生总架构师 负责广东移动公司各个部门的DevOps平台以及云原生基础设施的架构设计、平台建设、部署实施以及运营支撑 多年大规模云原生转型实践经验,参与过多家大型金融、通信和科技企业的DevOps与云原生转型评估与指导工作 开源项目开发者,热衷已码会友 01云原生转型必要性 目02平台工程实践血泪史 contents 录03大规模平台工程极简实践 04极简–规模化的关键要素 PART01 云原生转型必要性 转型驱动力 1 管理层面:分散到统一技术层面:困难到容易 统一打包 环境安装 故障迁移 CloudNative 4 快速修复故障 2 统一部署 应用部署 3 统一维护 维护管理 高可用 5 故障无感知 6 水平扩缩容 性能容量管理 云原生最佳拍档 + 复杂性自动化 第三方开发模式特点 团队众多 水平参差 上百个不同的合作商的 开发团队 各团队开发人员水平参差不齐 分散在不同合作商办公环境 远程开发 开发团队 由于每年投资缩减,人员变动大,普遍技能水平低 人员分散变动频繁 PART02 平台工程实践血泪史 转型血泪史 阶段1阶段2阶段2.5 阶段3 搭戏台 当保姆 找外援 造轮子 没人用 小规模 小规模 大规模 开源方案开源方案商用方案自研方案 阶段1:开源+放养 一套云原生环境:K8S+CephFS 全套DevOps工具:代码仓库:Gitlab 流水线:Jenkins 镜像仓库:Harbor制品仓库:Nexus 代码扫描:Sonarqube …… 阶段1:开源+放养(复盘) 搭戏台 建平台选试点做培训 过程问题 投入大整合难没人用 阶段2:开源+保姆 三套云原生环境:测试环境(SIT) 预发环境(UAT) 生产环境(PROD)x2 三条流水线: develop:发布到SIT环境master:发布到UAT环境release:发布到PROD环境 阶段2:开源+保姆(复盘) 当保姆 帮编写帮配置帮调试 过程问题 累瓶颈复制难 阶段2.5:商用+自助 愿景 自建自维 手工编写 商用的云原生技术底座 商用的全套DevOps工具 外部支持 自助配置 阶段2.5:商用+自助(复盘) 找外援 买产品买培训买支持 过程问题 配置工作量大培训成本高严重依赖供应商 问题分析:团队角度(要求) 技能要求 DevOps工具整合与编写技能 K8S应用部署技能 问题分析:团队角度(现状) 技能现状 常态 •团队没有DevOps和云原生技能 •开发/运维人员本来的工作量就很大 •理解好需求,编写好程序才是开发人员的本职工作 •6-7k薪酬的现实,做不出20-30k薪酬的效果 外援 •团队不会只能靠专家把团队教会 •团队不想只能靠专家下手干 •但不是每个企业都有能力承担引入或者培养专家的成本 源头 •开发人员是价值创造的源头 •开发人员最了解自己开发的应用应该如何编译、打包和部署 •DevOps平台首先应该为开发人员服务 GOPS全球运维大会2024·深圳站 现有开源方案 优势 劣势 •灵活:很多功能都可以通过编程实现 •灵活:很多功能都需要通过编程实现 问题分析:技术角度 面向专家 问题分析:技术角度 现有商用方案 优势 劣势 开源封装 •配置:用界面配置代替编程 •封装:对开源工具做了整合与封装 面向专家 •支持:有供应商提供的专家团队支持 •配置工作量大 •培训成本高 •支持和定制严重依赖供应商 开源方案 商用方案 问题分析:总结 租户想要的 拎包入住自己动手带着施工队租房 DevOps的未来–平台工程 DevOps已死? •不应该以增加认知/工作负担为代价 平台工程——DevOps的一种工程实践 简单 减负 增效 PART03 大规模平台工程极简实践 平台工程核心价值 学习认知负担 编写/配置/调试工作量 不求人减负 不用学 不用写 不用配 阶段3:自研+自助 源码上线 IDP(内部研发平台) 架构 演示–极速上手 不用学 不用写 不用配 5分钟演示、4分钟上手、3分钟上线 降低云原生应用部署难度 以资源为单位定义部署(K8S)以应用为单位定义部署(自研) 面临云原生资源隔离难题 平台管理者 收权? 放权? GOPS全球运维大会2024·深圳站 解决云原生资源隔离难题 GOPS全球运维大会2024·深圳站 解决流水线构建隔离难题 脚本越权访问容器隔离 Serverless2.0 (源代码+流水线+Kubernetes)x(简单+安全隔离) = 2.0 简陋1.0简单2.0 开箱即用,携码入驻 1 简单开箱即用携码入驻 2 零组装 内建流水线 模块/步骤开关 3 高效 5分钟培训 4分钟上手 3分钟上线 动态灵活 优势 4 单流水线多微服务 交互式流水线 5 易扩展 构建环境易扩展 上云步骤易扩展 6 租户隔离 共用流水线 共用云原生环境 PART04 极简–规模化的关键要素 平台工程大规模应用成果 跨BMOS部门6合作开发商22开发人员1200+ 业务系统100+代码仓库130+微服务种类500+ 环境种类包括:开发调试/预发/生产/异地容灾接管k8s集群16节点数600+ CPU架构跨X86/ARM64k8s产品跨开源/国产k8s版本跨v1.18.x-v1.28.x接管GPU算力节点14部署Pod3000+ 平台维护团队(自有人员)3平台教练团队(外包人员)6 大规模普及关键要素——快速复制 快速复制的关键要素 更低的学习成本 更低的使用成本 更低的维护成本 低成本 更简单 更轻量 更快速 超简单 内建质量门禁 更安全的租户隔离 更平滑的灰度发布 高质量 更高的开通效率 更高的上云效率 更快的复制速度 高效率 云计算普及的未来–简单 价值=产出–投入 SimplicityisthefutureofDevOps CloudNativePlatformEngineeringetc… 科技普及的未来–平民化 欢迎交流 欢迎来撩 https://gitee.com/dory-engine/dory-engine Thanks 高效运维社区DevOps时代 荣誉出品 THANKS 感谢大家观看