您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023 DOIS DevOps 国际峰会 · 北京站暨 BizDevOps 企业峰会]:谢恒-DevOps 生产线数字化建设的思与变 - 发现报告

谢恒-DevOps 生产线数字化建设的思与变

AI智能总结
查看更多
谢恒-DevOps 生产线数字化建设的思与变

谢恒中金所技术IDP负责人 IDP架构师专注DevOps和平台工程领域负责建设了研发交付平台、云计算管理平台在敏捷交付、容器化、云计算方面有所涉猎DevOps Master 上海金融期货信息技术有限公司基本情况 中国金融期货交易所全资子公司 为交易所业务发展提供全面技术支持和服务 数字化战略 §负责交易所业务系统的开发建设和日常维护,保障业务系统运行安全稳定,业务顺利开展。§参与制定信息技术系统规划。§负责制定相关业务控制流程和质量标准,监督实施质量。§负责基础设施规划和建设,实现运行安全高效的保障目标。§负责管理计算机和与通讯设备相关的固定资产、业务数据和技术文档。 五个夯实 §夯实数字化生产线§夯实云原生技术架构§… 两项能力建设 §数字化核心应用§数字化科技创新 保障:交易不断、数据不乱 成立于 主线科技赋能高质量发展 使命技术助金融衍生品服务中国 2012年 构建中国金融衍生品行业开放的技术生态,成为技术引领者 01我们IDP的两次路线转型 02 03 04 我们IDP的两次路线转型 DevOps生产线面临的需求 《证券期货业科技发展“十四五”规划》在指导思想中指出:“ 坚持系统观念,坚持创新驱动发展战略,紧扣“推进行业数字化转型发展”与“数据让监管更加智慧”两条主线,提升行业科技创新能力与数字化监管能力……牢牢守住不发生系统性金融风险的底线。” 两次路线转型 阶段2 阶段3 阶段1 基于应用模型的全流程自动化生产过程进一步下沉到平台,免配置能力大幅提高IDP使用者认知负载大幅降低、流程标准化大幅提高 加强版Jenkins自动化工具阶段向保障发布版本的唯一出口引入了项目清单、迭代清单不足:构建环境不统一、构建部署割裂、没有产品概念 权威数据源 模板化步骤、高级特性的流水线集中式构建,构建过程幂等引入发布概念,贴合实际生产过程带来了极大的交付效率和质量提升不足:任务重复管理散、重复执行;分支模型不一致,导致:交付过程不统一; 基于微服务+微前端架构建设了DevOps研发效能平台,敏态开发支撑生产线快速迭代服务 我们的IDP最佳实践 统一的基础源和研发模型 “四个一”模型 Ø一个系统Ø一个代码仓库Ø一个需求管理项目Ø一条生产线 问题:如何更好地发挥门禁作用 我们希望: 1.建设多层次门禁,能支撑坏味道“左移”2.不同团队可灵活配置门禁松紧3.最后交付时,有全面的“带电”检查 方案:组织级标准化和规范化-多层次质量门禁 Ø制品交付的关键节点安插门禁,可有效提高交付水平,降低修复成本:Ø开发阶段执行代码扫描门禁,控制新增代码问题,确保编译通过Ø构建阶段执行配置稽核门禁,及时将组织级配置规范应用到门禁项,提前发现问题Ø提测阶段执行测试准入门禁,保证增量测试覆盖率,避免趋势性下降Ø发布前执行发布检查门禁,确保制品、代码、需求、测试等对象检查均能交叉契合,力争无风险上线 方案:发布检查门禁 研发人员:发布日确实能早下班了运维人员:上线过程确实顺畅了 问题:开源代码扫描工具有诸多限制 开源代码扫描工具很好,但: 1.API被爆安全隐患2.不支持多分支3.代码行数限制4.单线程工作 方案:自研的代码扫描平台 Ø无状态的Kubernetes任务调度 自研的代码扫描平台 Ø实现了代码扫描的全部关键商业特性 Ø分支支持、多线程扫描、突破代码行数限制、增量代码指标 Ø自研增量代码质量算法 Ø代码扫描+Jacoco+ Git diff =可视化增量代码质量报告 问题:如何更好地支持信创 我们希望: 1.一份代码,两份制品(信创与非信创并行)2.对开发人员屏蔽配置差异3.统一管理的异构构建环境 方案:信创支持 ØDockerfile模板带来: Ø集中化的配置管理Ø开发人员不需要关注配置细节ØIDP统一赋能 Ø多类型制品实现代码同源 Ø统一管理的异构构建环境,IDP统一调度,屏蔽处理细节 举例:哪个更符合企业级IDP特性? 藏在背后的工作: 1.有集中维护的系统清单2.有完善的系统元数据信息3.维护了系统框架信息(如自研java框架)4.系统框架有构建/部署模板 团队级IDP vs企业级IDP 容易掉进去的“坑” 高昂的调整成本:用户已沉淀工作、IDP研发浪费 企业的IDP价值方向 下沉技术复杂性,上浮价值交付链 1.降低人员认知负载,将更多精力用在价值交付上2.问题左移,修复成本最小化3.质量卡点,提高交付质量,将“教训”沉淀为代码,确保只“失误”一次 1.应用建模、声明式任务2.交付链环节定义和流程固化3.自动化编排的生产线 我们正在/即将做的事 我们正在/即将做的事 Thanks DevOps时代社区荣誉出品