《字节DevOps交付流程演进之路-姚志坤.pdf》由会员分享,可在线阅读,更多相关《字节DevOps交付流程演进之路-姚志坤.pdf(30页珍藏版)》请在三个皮匠报告上搜索。
1、字节DevOps交付流程演进之路姚志坤个人简介现任字节跳动研发效能方向技术专家、效能平台解决方案负责人,积累了十多年DevOps平台建设和实践落地经验,2018年加入字节跳动,主导了公司级效能平台0到1的核心架构设计和全面推广,现专注于为日益复杂的DevOps实践提供解决方案姚志坤姚志坤目录演进思路和体系设计自动化以价值流为主线的协同模式总结与探索方向常见工程交付痛点业务复杂性需求易变需求后期返工方向错判很多时候我们归结于交付流程的问题估时不准、延期频繁交接上下文代码集成费时费力缺陷阻塞发布缓慢事故回滚频发团队复杂性技术复杂性DevOps交付流程需要匹配现实复杂度工具基建技术架构能力水平和阶段
2、角色协作业务方向易变业务质效要求环境不稳定工具未知错误交付版本不一致字节面临的问题规模大安全多元工具负债轮子多过于定制化品质不高难维护团队多微服务量大技术栈及框架种类繁多内部权限复杂数据管控安全研发DevSecOps业务的多样性协作模式多元兼容式的文化氛围如何设计适合字节的规模化交付流程?DevOps交付流程的演进思路解决方案以开放共建的流水线为核心,打造业务可自定义的自动化流程和可视化协同流程子目标拆解1.单点自动化提效2.全链路自动化提效3.处理多角色、多服务、多机房、多变更的可视化协同管理4.构建典型的交付流程模式协同提效自动化提效丰富的原子能力可靠可重复的流水线刻画团队协作交付流程需求
3、测试发布构建概念图架构概览单应用流水线交付ToC业务业务场景案例研发度量中台类业务协同交付需求全流程协同交付版本火车灵活多样步调一致DevOps交付流程方案标准流水线系统标准原子接入方案标准变量参数开放共建支撑方案需求域开发域环境域测试域发布域可观测域团队管理合规管控ToB业务上云业务应用管理配置管理巡检研效数仓协作视图效能平台商业类业务配置前端数据后端小流量检测AB对比测试接口压测预览环境基准环境功能环境开发工具代码集成需求管理监控仓库管理服务端主流交付流程概览特性开发流水线主干发布流水线单应用流水线交付需求过程任务分解分支合码协同交付-需求全流程测试流水线*N需求过程批次发布需求上车版本日
4、历发车发布流水线*N协同交付-版本火车初始化流程需求全流程流水线开发流水线*N火车#0火车#1火车#2封版冻结实际演进历程演进总图重点方案特性平台价值点字节业务收益标准化流水线2019开放生态建设2020团队协作模式2021自研流水线标准化测试环境标准化版本管理标准化发布能力建设质检能力原子能力开放市场流水线模版市场变量系统决策节点协同模式-版本火车协同模式-需求全流程价值流度量国际化交付实践实现标准化场景下的单服务流水线交付流程最佳实践业务能基于流水线基座和开放市场,灵活扩展原子能力插件业务团队能定义协作模式,高效管理大量的交付流程满足业务基本交付诉求,可靠可重复满足业务流程多样化的诉求,质
5、效明显提升满足团队管理诉求,一致性提高,可控可追溯目录演讲思路和体系设计自动化以价值流为主线的协同模式总结与探索方向自动化上手易做好难底层逻辑我们做怎样的自动化流水线效率质量可持续性通过单点工具提升效率软件工程的要求原子能力丰富的、高可用的、操作顺畅的交付流水线通过串联工具提升效率让人工和工具的协作更顺畅自动化的途径工程理念持续集成持续交付精益过程落地方案流水线典型交付流程分支开发主干发布字节微服务拆分较细,最常用特性分支+MR+主干发布的模式静态检测快速编译个人测试环境自动化测试需求接收&拆解拉分支&开发环境MR到主干正式编译回归测试环境验收通过提测or自测灰度&预览环境全量&线上监控开发提
6、交特性分支自动触发开发发起线下流程开发分支流水线主干发布流水线流水线系统模版管理市场流水线:自动化的“车同轨”API/Hook能力自定义原子能力市场设计特征 具有高度自定义能力的自由编排的流程基座规范团队共享实践聊天机器人自动触发自动通知业务定制共享自动化简化工具原子市场模版市场变量系统设计特征 标准化的并支持有限扩展的数据接口团队流程共享的变量变量:自动化的“书同文”原子服务间共享的变量流水线间共享的变量团队分支规范门禁规则必填交付参数分支信息版本信息产物信息粘合不同原子部分变量可编程流水线变量变量可编程决策节点设计特征 让研发的决策活动可视化和自动化决策节点:自动化的“枢纽”人工卡点/门禁