1、蚂蚁研发效能极速交付实践王兴龙蚂蚁高级技术专家 支付宝小程序云云效能技术负责人 OpenSumi 负责人王兴龙蚂蚁高级技术专家,先后参与蚂蚁前端中间件、工程化平台建设及蚂蚁云研发从0到1建设,目前专注于 IDE 技术及支付宝小程序云云效能嘉宾照片目录CONTENTS蚂蚁研发效能现状01 面临的挑战与解决方案02 具体解决方法与技术实践03 内部落地效果与云效能实践04 展望未来05 01蚂蚁研发效能现状研发效能定义和关键要素01效率02质量03持续性04有效业务价值单个研发活动的效率+协作效率,通过提高自动化、智能化程度,制定标准化流程,增强一致性和确定性等来提高效率。质量是效率的基石,对质量
2、的忽视必然会带来长远效率的损失高质量和高效是相辅相成的,质量是保证长期效率的基础。软件交付的“可持续”强调的是短期效率与长期效率的平衡,避免由于对短期效率的追求而产生的技术债,进而带来长期效率的损耗软件交付的最终目的是带来有效的业务价值。有效性是指,从用户和客户视角出发,某一次的价值交付是有用的、能解决实际问题的04安全在问题产生前,提前发现和规避问题;问题产生时,快速修复问题和降低影响面;问题结束后,总结和完善能力以降低问题产生的概率研发效能成熟度定义M5 全智能化M4 部分智能化M3 自动化M2 平台化M1 人工化效能成熟度变更前置时间定义阿里集团研发效能愿景:2-1-1在 Google
3、发布的 DevOps 报告中,精英团队的 变更前置时间 为 1小时内,高效团队为 1天到1周内。DevOps 全球调查报告全球调查报告蚂蚁效能指标从当前的效率数据来看,我们有一半的代码,写好(commit)到发布需要近两周,每个需求平均上线的时间需要近四周,因此交付效率面临的核心问题之一:当前代码和需求的交付速度还不够快。问题定义降本增效,资源有限的背景下,需求交付效率还远不够快。距离高效能和精英还有一定的距离。业务定义是指尽可能地降低 CTP(Commit To Product),提高从代码到生产发布前的需求交付效率,达到“小时级”交付的目标客户画像所有研发同学业务价值提高业务研发效率,降低
4、研发成本让业务价值能够更高效的交付给用户02面临的挑战与解决方案蚂蚁研发活动现状研发阶段研发活动研发平台1开发编码中间件接入服务接入应用配置库表变更新应用申请构建问题排查本地环境mock数据单元测试构建部署接口测试资源申请搭建联调环境联调验证问题排查构建部署mock数据CR质量风控门禁安全准入门禁编写测试用例执行测试CI流量验证功能验收mock数据灰度引流监控构建部署应急回滚2自测3联调4准入5测试6灰度7发布生产发布应急回滚问题排查问题排查LinkE AntCode/IDE/LinkW/天戈/瓦力/覆盖率/ACI/九州业务痛点(TOP 3)基建中间件问题无法自主排查问题解决信息获取效率低云研
5、发功能插件缺失本地环境拉起难自测数据准备耗时耗力构建部署慢线下联调环境不稳定,性能差接口变更无法及时感知流量不充分,无法常态化运维质量组件重复多次执行质量门禁规则不够灵活,审批长准入组件执行串行等待测试组件执行耗时长,不稳定mock数据难度大,耗时长人肉编写用例,缺乏有效工具精细化引流能力弱,为了全场景覆盖需要长时间灰度 2小时研发测试工程师面临的挑战开发大量的时间耗费在非代码域:各种环境准备、数据准备,等待各类组件执行的反馈,并进行修复,再执行。研发流开发研发阶段研发域质量域环境域架构划分子域风控域易用性开发效率准确性测试效率验收效率发布效率隔离环境可用性技术关注点子域核心问题发布域预发抢占
6、灰度等待随机引流标准引流安全检测隐私检测军规检测加签审批本地无法启动环境稳定性构建部署慢单测集测耗时不稳定测试用例编写(天级别)自测数据准备(小时级)流量精准度问题环境准备难文档查找难中间件接入难造数据困难问题排查难自测联调准入测试灰度发布研发域的挑战 新同学/新项目环境安装时间长新同学装机新项目1找软件 2 下载软件3安装软件 4 配置软件5配置环境6配置应用1安装软件 2 申请资源3资源配置 4 安装依赖5安装插件6启动项目5天2天研发域的挑战 本地无法启动项目版本离散基线不统一service mesh演进中间件下沉AliOSTEngineJDKOBProxy基线服务构建服务部署服务CLo