DevOps生产线数字化的思与变 谢恒中金所技术IDP负责人 IDP架构师 专注DevOps和平台工程领域 负责建设了研发交付平台、云计算管理平台在敏捷交付、容器化、云计算方面有所涉猎 DevOpsMaster 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 负责交易所业务系统的开发建设和日常维护,保障业务系统运行安全稳定,业务顺利开展。 参与制定信息技术系统规划。 负责制定相关业务控制流程和质量标准,监督实施质量。 负责基础设施规划和建设,实现运行安全高效的保障目标。 负责管理计算机和与通讯设备相关的固定资产、业务数据和技术文档。 保障:交易不断、数据不乱 为交易所业务发展提供全面技术支持和服务 业务系统上线升级 业务系统运行保障 办公、会员支持和服务 基础设施规划和建设 数字化战略 五个夯实 夯实数字化生产线 夯实云原生技术架构 … 两项能力建设 数字化核心应用 数字化科技创新 使命 技术助金融衍生品服务中国主线科技赋能高质量发展 上海金融期货信息技术有限公司基本情况 中国金融期货交易所全资子公司 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 成立于 2012年 愿景构建中国金融衍生品行业开放的技术生态,成为技术引领者 Content 目录 01我们IDP的两次路线转型 02我们的最佳实践 03踩过的坑 04我们正在/即将做的事 01 我们IDP的两次路线转型 DevOps生产线面临的需求 “ 《证券期货业科技发展“十四五”规划》在指导思想中指出: 坚持系统观念,坚持创新驱动发展战略,紧扣“推进行业数字化转型 监管发展”与“数据让监管更加智慧”两条主线,提升行业科技创新能力 要求与数字化监管能力……牢牢守住不发生系统性金融风险的底线。” 好看:界面美观 好用:流程灵活、使用便捷 管用:高效、智慧、智能 高质量发展要求 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 快速价值交付、快速响应业务的能力 保障安全稳定运行、支持自主可控的能力 阶段0 手工Dev+手工ops、脚本化 阶段1 加强版Jenkins自动化工具阶段 向保障发布版本的唯一出口 引入了项目清单、迭代清单 不足:构建环境不统一、构建部署割裂、没有产品概念 (进行中) 阶段0 阶段2 阶段3 转型1 转型2 阶段1 阶段2 权威数据源 模板化步骤、高级特性的流水线集中式构建,构建过程幂等 引入发布概念,贴合实际生产过程带来了极大的交付效率和质量提升 不足:任务重复管理散、重复执行;分支模型不一致,导致:交付过程不统一; 阶段3 基于应用模型的全流程自动化 生产过程进一步下沉到平台,免配置能力大幅提高 IDP使用者认知负载大幅降低、流程标准化大幅提高 两次路线转型 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 DevOps效能平台技术架构 门户 生产线服务OneDot 构建和流水线 环境管理 产品管理 发布管理AOP打包稽核 部署(测试环境) 制品管理 版本管理 开发代号容器化管理 代码扫描服务OneRadar 自动扫描 增量指标 门禁 自研规则 研发洞察 OneSight 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 接口中心 调用链分析 接口管理 制品及DNS服务 制品管理 DNS 管理 AD用户同步 Git增强服务OAuth2服务 SSO单点登录 MR/PUSH消息广播 组件代码变动探测 创建分支/MR主动监听外包账号管理工具链认证能力 基于微服务+微前端架构建设了DevOps研发效能平台,敏态开发支撑生产线快速迭代服务 02 我们的IDP最佳实践 A 统一的基础源和研发模型 权威数据源建设“四个一”模型 一个系统 一个代码仓库 一个需求管理项目 一条生产线 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 B 问题:如何更好地发挥门禁作用 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 我们希望: 1.建设多层次门禁,能支撑坏味道“左移” 2.不同团队可灵活配置门禁松紧 3.最后交付时,有全面的“带电”检查 B方案:组织级标准化和规范化-多层次质量门禁 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 制品交付的关键节点安插门禁,可有效提高交付水平,降低修复成本: 开发阶段执行代码扫描门禁,控制新增代码 问题,确保编译通过 构建阶段执行配置稽核门禁,及时将组织级配置规范应用到门禁项,提前发现问题 提测阶段执行测试准入门禁,保证增量测试覆盖率,避免趋势性下降 发布前执行发布检查门禁,确保制品、代码、需求、测试等对象检查均能交叉契合,力争无风险上线 门禁1 门禁2 门禁3 门禁4 代码扫描门禁 配置稽核门禁测试准入门禁发布检查门禁 B 方案:发布检查门禁 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 多门禁体系,发布门禁是最后一道,也是功能最强大的一道门禁 沉淀了线上踩过的坑、反思报告中的改进项 交付流畅度大增、交付质量大增 研发人员:发布日确实能早下班了运维人员:上线过程确实顺畅了 C 问题:开源代码扫描工具有诸多限制 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 开源代码扫描工具很好,但: 1.API被爆安全隐患 2.不支持多分支 3.代码行数限制 4.单线程工作 C 方案:自研的代码扫描平台 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 无状态的Kubernetes任务调度 关键技术特征:开源代码扫描工具的无状态化 代码扫描服务端 DB 容器:代码扫描工具 1.用时创建 2.配置规则 3.抽取结果 4.用完即删 Pod Overlay FS NFS(RO) ... 工具 .m2 Gitrepo mergeddir upperdir lowerdir 容器:client 容器... Server C 自研的代码扫描平台 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 实现了代码扫描的全部关键商业特性 分支支持、多线程扫描、突破代码行数限制、增量代码指标 自研增量代码质量算法 代码扫描+Jacoco+Gitdiff=可视化增量代码质量报告 D 问题:如何更好地支持信创 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 我们希望: 1.一份代码,两份制品(信创与非信创并行) 2.对开发人员屏蔽配置差异 3.统一管理的异构构建环境 D方案:信创支持 Dockerfile模板带来: 集中化的配置管理 ARM构建环境 开发人员不需要关注配置细节 Dockerfile模板 代码 x86_64参数ARM参数 mvnpackage.. IDP统一赋能 多类型制品实现代码同源 统一管理的异构构建环境,IDP统一调度, 屏蔽处理细节 IDP自动处理屏蔽处理细节 Dockerfile(X86_64) xx.jar X86_64构建环境 Dockerfile(ARM) 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 Dockerimg (X86_64) Dockerimg (ARM) 03 踩过的坑 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 团队级VS企业级差异 团队级 企业级 将DevOps看做资源将DevOps看做思维模式 满足自动化需求流程制度的载体 标准的DevOps流程,DevOps产品易标准化 DevOps个性化强 左移易实施左移是整体性的 要求IDP有极高易用性要求IDP能满足架构战略演进 去中心化中心化 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 举例:哪个更符合企业级IDP特性? 藏在背后的工作: 1.有集中维护的系统清单 2.有完善的系统元数据信息 3.维护了系统框架信息(如自研java框架) 4.系统框架有构建/部署模板 团队级 器 法 术 共性多 道 企业级 差异大 团队级IDPvs企业级IDP 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 容易掉进去的“坑” 团队级产品特性认知负载低、易理解 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 一段时间后数据已经有所积累 刚开始效果不错 厘清团队级特性还是企业级 特性是至关重要的 易在没有全盘推敲下引入IDP 发现走错路了 高昂的调整成本:用户已沉淀工作、IDP研发浪费 企业的IDP价值方向 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 1.应用建模、声明式任务 2.交付链环节定义和流程固化 3.自动化编排的生产线 1.降低人员认知负载,将更多精力用在价值交付上 2.问题左移,修复成本最小化 3.质量卡点,提高交付质量,将“教训”沉淀为代码,确保只“失误”一次 下沉技术复杂性,上浮价值交付链 04 我们正在/即将做的事 我们正在/即将做的事 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 1.工作台 围绕人的信息流聚合待做事项、计划安排、“左移”提示,使IDP成为员工日常工作效率的倍增器 2.应用驾驶舱 围绕应用的信息流聚合集中管理应用的元数据(分级保障信息、门禁要求、编排流程等)统一展示应用的状态(代码扫描数据、交付上线信息、缺陷信息等) 3.研发运维数据湖 一站式搜索降低IDP内数据间链接的开发成本、研发数据与运维数据的融合打通 4.插件式框架 解耦能力项与编排流如门禁能力插件化供应、组合门禁能力应用到各场景 5.应用的声明式描述 定义交付流程环节(意味着输入和输出是制式化的)声明式描述(参考K8S的声明式API思想,需求与能力供应的接口式对接) 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 Thanks DevOps时代社区荣誉出品