12月16日,由工信部旗下中国电子信息产业发展研究院指导主办的2022(第十二届)中国软件大会在线上召开。神州信息服务BG数字科技创新中心数字化业务专家齐伟华做题为《DevOps在金融行业的应用实践》主题演讲,以下为演讲摘要:
神州信息云业务能力
神州信息的云计算相关服务能力主要包括了以下几大方面:第一是跨平台的多厂商集成服务能力,主要包含云的战略转型规划、云的架构设计实施、一站式的云迁移、端到端的云管理、云的灾备、云的安全以及DevOps解决方案;第二是拥有自主知识产权的云软件自主研发,包括应用管理平台、软件自动发布平台、混合云管理、IT运维管理套件、企业服务总线、能力开放平台、应用性能管理,以及运维SaaS等自主知识产权的软件;第三是专业服务团队,拥有数百名致力于客户云架构规划以及战略转型咨询的专家,以及技术实施、运维运营维护、外包管理等专业队伍,可全国调动的资源和专家池;第四是与行业内主流的公有云和私有云厂商以及服务商成为战略合作伙伴;第五是已全面覆盖了行业应用的一些自主研发的解决方案,助力云化转型。
神州信息的专家团队善于在复杂的商业环境中,结合丰富的行业经验,快速发现、帮助客户解决云化过程中的一些问题。神州信息的云服务体系覆盖了云的全生命周期,提供端到端服务,包括咨询管理的迁移安全以及定制化开发,同时也支持信创和x86的双模。
行业背景:业务竞争和信息科技能力建设需要
首先从行业的背景来说起,为什么要建设DevOps流水线?我们所处的时代是数字化时代,是云延伸的时代。对业务的响应效率以及对获取客户的反馈能力,是决定业务开展的关键因素。只有握住这两个关键因素,才能够更加自如地应对金融行业的竞争压力,更加专注于创新市场的拓展。最有效的方法就是用技术手段支撑业务部门快速的运转,建设一个类似于流水线式的IT工厂,以标准化、规范化的流程驱动敏捷、高效、可靠的方式,进行业务需求交付。只有缩短业务的上线周期,才能使技术支撑部门从传统的成本中心转化为价值中心。所以不管是从外部的业务竞争方面,还是从内部的信息科技能力提升方面,建设DevOps流水线都势在必行。
行业现状
在需求方面,存在对需求的期待及高质量上线需求;在开发方面,缺少代码库、分支管理策略,厂商众多标准的规范不统一各自自治,我们希望有一套代码来管理方法来反馈代码的质量和统一规范。
金融行业DevOps建设面临的挑战
金融行业非常重视DevOps的建设,所以很多金融机构着手建立DevOps流水线体系。这是一项充满挑战的建设工程,主要体现在以下几个方面:基于行业特征带来的挑战,比如业务高度依赖信息科技、系统环境日趋复杂、业务和信息科技不断融合,信息系统外部性特点显著;在自身的管理模式方面,金融机构职能化的组织架构,比较强调的是监管规范、效率和质量的平衡、对质量和审核的把关,所以在依赖于服务厂商合同管理关系管理模式下,也给DevOps的建设带来了比较大的挑战。
金融行业的DevOps在大面积铺开,在建设过程中也出现了很多挑战,比如已经采购了很多商业产品,但市面上没有统一的实施模板,需要经验的沉淀——虽然有实践,但针对金融的某一个企业来看是没有最佳实践的;虽然有工具,但工具是分散的。
DevOps建议规划
根据神州信息在金融行业的落地案例,从工具资源来看,要充分利用好已经采购的商用开源产品,从接口数据层面来把我们的工具拉通,并且还要将底层的IaaS以及PaaS等资源进行拉通,做到真正的从资源到应用层面的协同,同时也要去查漏补缺、逐步替代,让这些工具发挥出它的真正价值效能。工具的集成体现在调度流水线的各个环节,每个环节也要充分利用权限、审批等关键节点来设置一些阀门,保证效率和流水线的合规性。工具和数据集成以后,要重点看一下流水线的管理,主要体现在八大的管理模块:项目管理、配置管理、质量管理、构建管理、部署管理、测试管理、环境管理、度量管理。
DevOps建设目标和原则
要围绕四个层面去建设:缩短业务开发周期,通过流水线自动化的手段来缩短交付周期;提高代码构建和部署效率,避免人工过多参与、开发人员直接部署的局面;提高代码发布质量和可靠性,通过发布策略或发布自动化的形式去提高发布质量,做到可视和可靠;统一发布流水线,集中所有的业务系统、应用、开发的流水线,进行统一发布。
建设的原则包括以下几点:摆正位置,DevOps不是简单的工具拼接,是为IT部门核心业务提供服务的企业级共享服务平台;切实可行,针对影响工作的实际问题,从实际场景出发,制定规范的流程,实现平台功能平滑易用,才能有效推广运用,真正提升交付效能;成熟方案,流水线涉及多个环节和工具,技术对接和自动化程度是建设难点,需要基于成熟的平台方案才能实现端到端的自动化;影响最小,充分调研及针对性设计,将研发、测试、运维工作的影响最小化。
八大模块:项目管理
大部分金融行业都已经具备存量的项目管理系统。不管是存量或者是新建,在数据和流程上,都要和流水线去贯通。所以建设目标也要围绕这个几个方面:兼容传统和现在敏捷双模IT的开发模式;利用小批量迭代的开发模式去管理项目;以项目管理为流水线起点来驱动执行,做自动化流水线调度;做度量的建设来可视化地进行项目交付。
建设方案一般从这几个方面进行:从任务状态自动触发流水线的执行;API或者数据库方式打通数据关联;从需求项目、任务、质量等不同维度设置流水线的阀门。
八大模块:配置管理
配置管理主要的建设目标是要做到配置可以追溯并且可以重现,形成配置库管理的制度和规范,用制度和规范来去制约配置管理的落地。建设方案也是这几个方面:一切皆有版本、代码、配置文件、脚本、数据库文件等;形成配置管理规范;建立统一代码源及符合自身的代码分支策略;专人负责配置管理。
八大模块:质量管理
质量对于银行也是重中之重,因为涉及到一些监管问题。建设目标包括:自动化、增量、全量激进型静态代码扫描和漏洞安全扫描;设置质量阀,严控发布质量;形成质量管理规范制度。
建设方案建议:前置扫描环节,引入静态扫描与安全扫描工具;做到自动化、日常化、增量化扫描;提供周期性质量红黑榜;形成组织级扫描规约;定制关键指标扫描报告。
八大模块:构建&部署管理
在构建和部署管理模块,建设目标包括:使构建和部署流程标准化,尽可能多环境可重用,保证一致性;构建和部署各环节自动化、可视化;过程的度量数据建设,反映构建成功率、构建时长、部署成功率、频率、时长等指标。
建设方案建议:建设弹性的构建集群(虚拟机或容器环境);标准化、集中管理构建和部署脚本;按项目、系统建立部署策略;集中管理构建过程制品、限制开发人员对制品的操作权限;构建过程及部署过程日志可视化、即时通知,快速定位问题。
八大模块:环境管理
环境管理方面,建设目标主要是构建环境、测试环境能够弹性资源分配;环境的交付由云资源管理平台完成;按应用系统集中管理环境配置及依赖。
建设方案包括:对接容器云平台或多云资源交付平台,使环境交付控制在小时内;建设配置中心,集中管理应用、环境配置。
八大模块:测试管理
测试管理的建设目标是更早发现问题及更小的代码变更。建设方案包括:将各类测试环节左移、做到自动化测试、建立测试度量指标,并设置质量阀。
八大模块:测试管理
没有度量就没有DevOps。建设目标是将全生命周期数据打通,随时获取;从效率、质量、进度多维度度量;通过质量指标驱动业务价值实现。建设方案建议分阶段性建设,逐步完成指标优化。
度量管理并不是一蹴而就的,建议通过三个阶段持续提升度量管理数据展现。第一阶段是提升持续集成能力,包括提升应用构建部署频率,以提供开发效率;提升构建部署成功率,提升版本可用性;提升构建次数、构建频率、构建时长、构建成功率、部署次数、部署时长、部署成功率等指标。第二阶段是提升交付效率质量,包括自动化测试逐步替代手工;设置质量阀管理;提升缺陷处理效率。第三阶段是业务价值实现,包括分析优化生命周期的瓶颈及原因;缩短需求的交付周期;减少等待时间。
八大模块:规范建设
规范建设是要贯穿始终的,在全生命周期的每一个阶段,要去分步实现规范落地和推广,限制或者是去标准化研发过程。
建设完成后的场景示意
建设完成后的场景示意,覆盖了开发、测试、运维以及管理的各个角色,从业务需求的创建到上线,以及转运维之后的问题反馈,都可以通过自动化的流水线,结合规范制度,做到快速的内部运转。各个环节也是通过人工或是自动化的审核来去做一些质量权限的控制,来保证整个交付过程的合规性。
DevOps建设预期目标和收益
在代码的版本、统一协作机制,交付的时长效率,以及标准的规范建设,这几个层面都都有大幅度的提升,也确实能够帮助业务快速交付,产生更大的价值,能够更快地把业务需求推到市场,快速获取客户反馈。对于金融行业来说都是比较大的改进。
建设IT工程效率平台,提升IT生产线效能,释放IT价值
总结来看,通过建设IT工程效率平台,提升IT生产线效能,释放IT价值。对于企业的管理,通过提升IT的运营管理效率,每个环节都可以做到可视、可管理的业务目标。对于业务来看,通过IT工厂标准化的交付来更高效、可靠地将业务进行交付;对于研发,自动化的流水线缩短了研发周期,有更多的时间专注业务创新,来促进代码的价值转换;对运维,可以将传统的运维向开发运维去转换,从手工的运维向自动化的运维去转换,来释放IT的人员的价值体现。
相|关|回|顾
领取专属 10元无门槛券
私享最新 技术干货