实战 | 全流程一体化开源软件管理与实践
欢迎金融科技工作者积极投稿!
投稿邮箱:newmedia@fcmag.com.cn
——金融电子化
文 / 中国农业银行研发中心 岳松颂 刘年波 管理
随着IT技术飞速发展,云计算、大数据、人工智能、物联网等核心技术不断取得重大突破,已成为各行业领域炙手可热的技术方向。金融业作为IT技术应用的主体,也正积极拥抱最前沿的技术体系与架构,引入大量的开源技术和开源软件,提升金融产品服务,助力科技创新和数字化转型。为应对互联网冲击,充分利用开源技术的优势,降低开源技术的风险,拥抱开源、驾驭开源已经成为银行金融科技转型的强大动力来源。农业银行在开源技术应用和管理的过程中,采取“全流程一体化开源软件管理”的策略,不断发展和完善开源软件管理方法,摸索出融合传统和开源理念的软件管理体系和框架,为全行开源软件管理、开源技术应用与整合等提供有效手段。
建立全流程一体化管理体系,全面推进管理规范化
目前,农业银行研发各领域均建立了完善的管理体系,各个管理体系均涉及开源软件管理,开源软件的管理要求也需要这些体系从不同角度加以落实。农业银行在综合分析这些体系现状的基础上,按照“统筹规划、合理布局、分散实施、优化改进”的原则,结合对金融行业开源软件管理的方法和实践技术的研究,提出了融合传统和开源理念的软件管理体系和框架TOSIM(Traditional & Opensource Software Integrated Management),用以支持研发、测试和运维等过程中开源软件的全流程一体化管理。
开源软件管理工作具有涉及面广、复杂度高的特点,一体化管理体系将开源软件管理工作融入现有架构管理、项目管理、安全管理、配置管理体系,增强了跨部门、跨领域工作的高效有序衔接,为提高管理效率提供了有力保障。
在架构管理领域,建立开源软件使用规划,并对开源软件引入、各系统使用何种开源软件进行评审把关。
在项目管理领域,明确项目组使用开源软件的工作流程和要求,在项目需求、设计规范中综合融入开源软件管理要求。
在安全管理领域,建立开源软件安全管理体系,综合采取各种技术措施,及时发现和妥善处置开源软件安全漏洞。
在配置管理领域,建立开源软件配置库,提供稳定可靠的开源软件使用服务,建立开源软件与应用系统之间的关系视图。
在运维管理领域,将开源软件纳入应急管理体系,建立开源软件应急预案,提高对开源软件引发事件的应急处置能力。
打造开源软件管理平台,实现开源软件高效管理
依托TOSIM一体化管理体系,农业银行打造了一系列开源软件管理工具,构建了完整的开源软件管理平台(见图1),通过研发平台集成实现开源软件的自主化,落实开源软件组织级技术管控;通过管理平台实现对开源软件从引入、使用到退出的全生命周期管理,形成开源软件的管理闭环。
图1 开源软件管理平台
1.综合研发平台。统一集成研发平台作为开源软件应用的重要手段,能大幅度加速先进开源技术引入,农业银行构建了基于综合应用平台、云平台和大数据平台等为基础支撑的综合研发平台,将开源能力平台化,为各类业务应用提供服务,实现开源技术自主化。采用K8S生态开源软件构建的PaaS平台,提供轻量级、全托管、全流程的Serverless架构理念计算平台,支持前台应用、互联网接入型渠道应用的研发。采用开源软件Spring体系为核心构建的综合应用平台,通过组件管理中心实现公共组件的统一管理,为全行应用研发提供了统一的开发工具和运行框架,推动了企业级应用研发和应用运维一体化。
2.开源软件资产管理平台。开源治理是开源软件管理规范化的必由之路,农业银行在系统建设过程中,均使用大量开源软件,实现新技术的快速引入。在此过程中,我们建设了统一开源软件资产管理平台,搭建全行级开源软件配置库,实现了贯穿运行态和管理态开源管理工具。其中运行态工具对开源软件实体进行统计和集中管理,实现开源协议自动扫描获取,对接制品库、构建管理等工具,获取应用系统的开源软件使用视图,根据管理要求实现批量设置属性、限制下载等功能。管理态工具主要提供开源软件查询管理、开源协议查询管理、漏洞查询管理、测评流程管理等功能,以结构化的形式维护开源软件目录信息,包含软件基本信息、使用情况、安全漏洞信息、测评情况等,并能随开源软件的引入、测评、使用、退出等流程自动更新相关信息。此外,开源软件资产管理平台还提供了单独的开源软件漏洞扫描工具和源代码安全检查工具,可针对开源软件进行漏洞扫描和代码安全检查,防范开源技术带来的安全漏洞,降低开源软件的安全风险。
3.开源软件支持服务平台。开源软件支持一直是开源技术应用的拦路虎,农业银行在开源技术使用过程中,为提高开源软件支持能力、风险事件处理速度等,利用现有研发支持服务平台,构建了开源软件支持服务平台,包括知识库、问题库、聚合搜索、数据统计、信息发布等多个功能模块。首先规范开源技术支持工作,提供统一的支持工单入口、支持工作流程规范化以及工作实时跟踪;其次健全开源技术知识库,提供统一的知识库入口、最新的技术规范以及跨系统文档检索功能;再次开源技术信息聚合,提供统一的信息聚合检索入口、解决信息碎片化问题以及进行有效的信息推送;最后专家团队支持,提供技术培训、应用支持以及社区跟踪。开源软件支持服务平台为全行提供了专业化、标准化、精细化的研发支持服务,全面提升了开源软件支持能力。
推进开源软件管理体系实践,服务金融业产品创新
农业银行通过TOSIM一体化管理体系建设,打造了基于开源软件的金融科技创新服务能力和技术底座,加速了农业银行在各业务领域的产品创新,覆盖渠道域、客户服务域、产品与服务域、企业数据管理域、业务管理域和基础应用域6大应用域,为数百个应用提供有力支撑。
在防范生产风险方面,通过开源软件资产管理平台,实现了漏洞风险精准定位和生产问题精准定位。在漏洞处置上从撒网式变为精准定位、有的放矢,快速判断漏洞影响系统范围,大大增强漏洞处置时效性,降低风险敞口;在生产问题精准定位上,将问题处置流程规范化,各司其职,责任明确,健全应急预案,提升应急处置能力和业务连续性服务水平。通过采用开源软件资产管理平台,漏洞平均定位时间下降了95%,漏洞平均处置时间缩短了80%,技术支持人力节省了20%,显著提高了生产风险防范的有效性。
在软件研发支持方面,形成了“一个软件仓库”+“一套知识图谱”+“一个平台”的开源技术生态,通过制品库实现实时下载,可信开源软件模型免审使用,DevOps工具链嵌入安全检查等支持开源软件快速应用,提高应用研发、运营服务支持能力,明显缩短研发周期,提升研发效率。
在开源软件治理方面,利用贯通运行态和管理态的管理工具,提供开源软件全行统一使用视图、测评信息、软件及协议目录、漏洞知识库。在提交测试准入时,管理工具从运行态工具获取组件使用视图,并自动生成测评任务推送给用户;在进行投产构建时,运行态工具从管理态工具获取组件测评覆盖情况,作为质量门禁控制制品晋级,做到开源软件管理覆盖、软件安全、信息一致、自动更新。
在服务金融产品创新方面,通过开源软件引入可支持快速金融科技创新,实现业务赋能;以流批一体技术引入为例,通过在特定场景引入开源组件,逐步积累实现最佳实践;最后通过共享平台组件、发布技术手册,形成全行公共技术资产,助力企业级数据应用生态发展。
总结与展望
在数字经济浪潮下,开源技术正逐渐成为产业创新和技术创新的主导模式,金融行业作为典型代表,伴随开源软件的使用数量和应用范围日益增大,在安全风险、知识产权、运维管理、合规风险等方面均面临挑战。农业银行在开源技术应用和管理过程中,采取“全流程一体化开源软件管理”的策略,结合实际情况,摸索出融合传统和开源理念的软件管理体系和框架,打造了开源软件资产管理和开源软件研发服务支持平台。在科技创新服务、防范生产风险、软件研发支持、开源软件治理等领域进行了深入实践和应用,有效降低了开源技术应用风险,提高全流程研发效率,推动金融产品创新,有效实现了商业银行对开源技术的管控。
未来,农业银行将进一步完善TOSIM一体化管理体系,加强开源治理和管理水平,让开源技术顺应行业发展,赋能金融科技创新,促进金融业向开放化、数字化转型。
(栏目编辑:张丽霞)
往期精选:
(点击查看精彩内容)
● 实战 | 智能化技术赋能传统运营风控模式转型——运营风险智能管控项目的建设与成效
● 实战 | 数字化转型趋势下银行安防面临的挑战与应对思路——解析中信银行数据化安全管理之“新”
《金融电子化》新媒体部:主任 / 邝源 编辑 / 傅甜甜 潘婧