DevOps工具平台的“诗和远方” 韩洪雷 高效运维社区 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 韩洪雷 高效运维社区 曾主导并参与过多个效能平台的建设,如项目管理平台、度量平台、流水线平台等,对持续集成,持续交付,研发效能度量,BizDevOps等研发效能提升方面有一定的落地实战经验,现从事DevOps咨询工作,曾服务过多家大型金融机构。 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 DevOps工具平台的发展 目录 工具平台的场景化服务能力 平台工程的定义 01DevOps工具平台的发展 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 DevOps工具平台的发展 ①解决个人问题 ②解决项目问题 ③解决团队问题 ④解决组织问题 满足既有诉求 单点工具,开源工具,脚本,被动 满足新的诉求 管理诉求(少量),开源工具链,被动 满足个性诉求 专职团队,多技术栈,工程特性,流程规范,主动(次),被动(主) 满足管理诉求 规模的专职团队,强调流程规范,封装,易用性,管理要求,主动 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 管理诉求 管理要求 我来满足你的诉求>>>>>>>>>>>>>>>>你来满足我的要求被动>>>>>>>>>>>>>>>>主动 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 妥协 强迫 管理 体验 解决X个Bug DevOps工具平台发展到一定阶段出现的绩效导向 绩效导向:推广率&功能数 DevOps工具平台团队经常会出现的一些绩效导向: •推广率提升X% •上线X个功能 上线X个功能 覆盖多少业务条线 量化指标 接入多少个项目 过度关注管理诉求,从而忽略了用户体验 可能会出现的一些问题 流程规范建设层面 缺少流程规范对工具的约束和指引 •兼容了各种各样的场景 •功能多而杂,违背了奥卡姆剃刀原则 平台易用性层面 缺少产品视角的调优和规划 •用户的操作入口多 •操作事件的前后逻辑性差 平台推广层面 平台运营推广成本较高 •依靠专人贴身服务指导,耗时耗力,本末倒置 01020304050607 流程规范制定 制定组织级的流程规范,规范应尽量覆盖交付生命周期的各个环节,如依赖包,环境,数据库变更等,至少应覆盖和工程领域能力相关的流程规范,从而为工具的高度自动化奠定基础能力。 规范工具融合 通过将流程规范的约束嵌入到工具平台内,减少个性化服务场景的支持,实现规模统一化,步骤一致化,使用简单化。 服务场景提炼 基于研发过程的主要活动,识别交付过程中的核心服务场景,通过场景对单点能力进行识别聚合,将原有的单点自动化能力聚合为场景化的自动化服务能力,使其具备理想的平台工程化能力。 用户自服务 基于高度自动化的场景化服务能力,释放团队运营资源,降低运营成本,同时能够提升用户的体验,真正通过场景化的服务能力实现用户自服务,以及未来可能的工具平台“零服务”。 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 一个值得思考的指标 用户停留时长(UserSessionDuration) 用户停留时长是指用户在一次会话中从进入平台到离开平台所花费的总时间。这一指标可以反映用户在平台上的参与度和体验质量。 可能的结论 停留时长较长可能意味着用户对平台内容或功能的兴趣较高。 但也不排除用户是在你的平台里迷了路。。。。 到2026年,80%的大型软件工程组织将建立平台工程团队,将提供可重用的服务,组件和工具来支持应用的交付,平台工程将更进一步有效解决Dev和Ops之间的协作问题。 建立平台工程标准,指导国内企业平台团队工作与平台功能建设意义重大,帮助企业审视DevOps平台工程能力建设现状,优化平台工程能力框架,提供平台工程能力体系建设指导及参考,进而实现企业高质量发展,中国信通院牵头发起《研发运营一体化(DevOps)能力成熟度模型第13部分:平台工程能力要求》标准编制工作,这是首个针对DevOps平台工程能力成熟度的标准。 可能的解决方向:通过平台工程实践落地工具平台的场景化服务能力 场景化 •面向一体化平台的场景化服务能力与平台团队管理能力,如:价值流场景、需求工程场景、研发工程场景、测试工程场景、运维工程场景、安全工程场景等 •验证企业一体化平台场景符合度 平台工程 平台域 工具平台 •面向工具平台,如:项目管理平台、持续交付平台、测试管理平台、技术运营平台等 •验证企业工具平台功能符合度•平台包括多个工具模块 项目与开发管理平台域 应用设计与开发平台域 持续交付平台域 测试管理平台域 自动化测试平台域 移动应用测试平台域 技术运营平台域 DevSecOps 平台域 •项目管理•工作项管理•计划管理•文档与知识管理•团队协同•统计度量•项目集管理 •应用框架•集成开发环境 •版本控制系统•构建与持续集成•流水线•制品管理•部署管理•发布管理•环境管理•应用配置管理•数据变更管理 •用例管理•测试计划管理 •接口/服务测试•UI测试•代码质量管理•单元测试•性能测试•测试数据管理 •适配兼容测试•移动自动化测试•客户端性能测试 •配置管理•运维数据分析•应用性能监控管理•基础监控管理•日志监控管理•自动化作业平台•容量管理•成本管理 •移动应用安全加固•资产安全风险管理•安全性测试 •静态应用安全测试•开源组件安全测试•动态应用安全测试•交互式应用安全测试•移动应用安全测试•容器静态安全测试•基础设施安全测试 威胁建模 必选模块 +1项可选 全部模块 必选模块 +2项可选 全部模块 必选模块 +2项可选 全部模块 必选模块 +1项可选 必选模块 +1项可选 单领域 工具模块 •面向工具模块,如:工作项管理、流水线、自动化接口测试等 •移动应用安全加固 •资产安全风险管理 •安全性测试 •静态应用安全测试 •开源组件安全测试 •动态应用安全测试 •交互式应用安全测试 •移动应用安全测试 •容器静态安全测试 •基础设施安全测试 威胁建模 •验证企业工具单点功能符合度 •项目管理•工作项管理•计划管理•文档与知识管理•团队协同•统计度量•项目集管理 •应用框架•集成开发环境 •版本控制系统•构建与持续集成•流水线•制品管理•部署管理•发布管理•环境管理•应用配置管理•数据变更管理 •用例管理•测试计划管理 •接口/服务测试•UI测试•代码质量管理•单元测试•性能测试•测试数据管理 •适配兼容测试•移动自动化测试•客户端性能测试 •配置管理•运维数据分析•应用性能监控管理•基础监控管理•日志监控管理•自动化作业平台•容量管理•成本管理 DevOps系统和工具标准规定了研发运营一体化(DevOps)过程中所涉及的系统和工具的能力技术要求,适用于在IT软件研发交付运营的使用方实施相关系统、工具和服务建设时进行评价和指导,将端到端软件交付生命周期全流程用工具链进行连接,包括:项目与开发管理、应用设计与开发、持续交付、测试管理、自动化测试、移动应用测试、技术运营、安全及风险管理。 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 DevOps工具平台发展经历的几个主要阶段 C 场景化建设阶段: 减少用户的使用和认知成本 聚焦于追求组织级卓越效能,通过服务化、生 态化、智能化的业技融合提升组织应对不确定性的整体响应力,提升整个组织对于市场的响应速度和经营业绩。 特点:自研平台+整合工具(开源/商业/自研)-生态化 B 平台化建设阶段:聚焦于建设端到端的流水线,打通各个阶段环节的 工具平台,沉淀总结提炼适合自身的研发模式,并将其固化到流水线平台,在组织内试点与推广,使得科技侧具备稳定快速且高质量交付的能力。 特点:半自研+封装工具(开源/商业)-平台化 •统一界面(入口)+固化实践(Portal化) •统一度量 A 工具化建设阶段:在各个阶段搭建相对独立的技术工具平台,聚焦于工具化以及通过工具提升自动化水平。 特点:独立工具(开源/商业)-工具化 平台化 1-2年 工具化 0-1年 服务化 2-5年C 依次递进 B A GOPS全球运维大会暨XOps技术创新峰会2024·北京站 02工具平台的场景化服务能力 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 基础能力:打造工具平台的基础服务能力 •流水线支持模板化创建,基于模板创建,方便开发人员手工配置流水线的繁琐过程,以提升其配置效率 模板化创建 编排和嵌套 •流水线的编排和嵌套,可以应对众多复杂的业务场景,实现流水线的灵活编排和调度 代码变更触发 •流水线支持代码变更触发,当代码发生变化时,将第一时间触发流水线运行,能够快速的反馈给开发人员代码修改的问题 质量门禁 •流水线中的质量门禁,可以很好的实现自动化的质量控制,实现质量检查左移,及早的发现潜在的问题,避免在集成后期出现问题而导致大范围修改,影响效率 并行执行 •流水线的并行执行,除了节省平台的资源耗费情况,同时能够帮助开发人员减少平台的使用成本,使开发人员更能聚焦业务研发 配置代码化 •流水线通过支持配置代码化,做到更好的版本控制,并增加系统场景化服务的能力,提高易用性 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 进阶能力:迈向工具平台的场景化服务能力 01 新建需求/任务 创建应用 创建分支 关联需求 环境申请 从功能堆砌 主要导向:能用 从单点到场景 关注开发者体验,从单点自动化到场景自动化 02 到场景化服务能力 主要导向:好用 新建需求/任务 创建/注册应用 分支模型/策略 非生产环境 应用配置 生产环境 非生产环境 应用基础设施 生产环境 单点能力的不断提升并外延,与其他单点能力结合,形成场景,场景来源于企业既定的业务流程,实现工具的连锁反应 应用画像 解决场景化服务能力的关键:构建以应用为中心的交付模式 构建一个完整的应用画像,是实现场景化服务能力的基石 代码仓库 流程规范 制品库 运行环境运行配置流水线 数据库 通过画像自动为开发团队提供不同场景诉求的服务能力 此图片来源于互联网 减少开发团队对平台内部的学习认知成本,使其更专注于业务开发 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 以应用为中心串联各服务 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 DevOps流程规范 指导手册 01 分支管理规范 02 流水线使用规范 03 制品管理规范 04 应用配置管理规范 05 部署管理规范 部署模板 配置模板 流水线模板 环境配置模板 分支策略模板 应用画像模板 基于模板可视化配置的应用画像 构建应用画像是提供场景化服务能力的基础 分支模型 驱动代码分支和流水线的自动创建及关联 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 环境模型 驱动运行环境的自动生成驱动镜像的基础环境 技术栈类型 驱动流水线内部的结构编排,参数等 应用名称仓库名称分支名称 流水线名称制品名称制品路径 一个典型的基于模型画像的场景化服务能力 传统模式 这是平台工程的能力 当开发团队需要部署应用时 发起环境申请 填写环境申请信息 等待审批 准备环境 发放环境 部署应用 场景服务模式 当开发团队需要部署应用时 自动为其生成环境 部署应用 一类服务? 应用画像下的环境画像模型 ToB?内部? 其他?上海? 请求量? 基于环境画像预生成的环境信息 Web服务器 用途:处理用户请求、静态内容、页面渲染。配置: