大数信科吧 关注:5贴子:112
  • 12回复贴,共1

DevOps在信贷科技领域的落地实践

只看楼主收藏回复

在一个变化频仍的市场中,业务部门迫切需要IT能够提供敏捷灵活的交付,以快速响应市场需求,但“需求”与“排期”、“质量”与“速度”往往成为传统研发难以调和的矛盾。数字化与云原生的发展为这一迫切需求带来了解决方案,DevOps(研发运营一体化)作为一种研发文化与敏捷交付的有效手段,成为现代化企业打造竞争优势的重要动能。信贷科技行业面对着一个高度敏感的市场,宏观经济环境、行业监管要求、银行信贷政策、借贷市场需求等任何一种因素的变化,都极有可能改变信贷产品的形态,这对企业的开发交付能力提出了更高要求,也验证着企业快速满足市场需要的产品研发与迭代能力。更进一步,在金融与科技深度融合的时代,敏捷、高效、可靠的业务需求交付,直接影响着信贷科技创新的效率与效果。作为业内领先的信贷科技企业,大数信科深度应用智能决策技术,结合多年金融软件实施经验,构建了「DevOps一站式研发管理平台」,在提升研发效能、实现敏捷交付、打造多元产品体系、支撑多样化业务模式等方面取得积极的实践成果。


IP属地:广东来自iPhone客户端1楼2023-06-14 22:56回复
    传统研发流程中的痛点在软件交付的基础建设中,通常会采用Jenkins等工具来构建CI/CD持续部署服务,以满足软件在不同环境中的部署要求。然而,在实际的研发过程中,仍然会面临各种各样的问题,制约了软件交付过程的效率与质量,如:软件代码分支模型不规范,导致多版本并行的管理维护成本高;项目管理系统的任务脱节,导致任务完成后代码没有及时部署到运行环境;代码的质量和漏洞检查没有得到有效的把关和控制;需求变更没有及时通知到相关人员,导致开发方向产生偏差测试效率低下和测试场景覆盖有限等等。


    IP属地:广东来自iPhone客户端2楼2023-06-14 22:58
    回复
      如图所示,内环是通常看到的DevOps内核部分——CI/CD、自动化部署及回滚、与云平台的接口、流程的图形化编排调度等。真正落地一个DevOps项目时,需要关注整个外环更宏观的层面——组织整体软件生产的完整过程。


      IP属地:广东来自iPhone客户端3楼2023-06-14 22:58
      回复
        02大数信科的DevOps解决方案
        软件交付过程是一个庞大的系统工程,为了解决上述复杂多样的交付场景,大数信科通过逐一梳理每个模块,形成方案与交付文化,进而构建了一个综合性的解决方案——DevOps一站式研发管理平台。该平台整合了研发各环节涉及的工具和方法,以持续优化DevOps交付流程,从而保证交付流水线的顺畅和高效。循序如下由浅入深的实施步骤,DevOps项目获得快速的价值回报,这也使项目能够在公司内部的一致认可与协同下,更顺畅地推进实施。


        IP属地:广东来自iPhone客户端4楼2023-06-14 22:59
        回复
          代码持续集成与部署
          首先,需进行改进的是代码持续集成与部署。以前通过人工操作的部署方式效率较低,新的DevOps流程通过任务状态和部署时间自动驱动流程完成部署工作,当任务完成且符合部署策略时就可以自动部署。在这个过程中,需要解决的问题是任务联动,开发人员接到需求后,根据需求分配任务,并将相关信息录入系统,一旦业务任务清楚了,系统就会按照相应规范自动生成开发分支,以确保开发人员可以在该分支上进行开发,并将其与研发流水线挂钩。同时,版本的并行分支很多,可能会有五六个版本并行开发,就需要在生产发布上线之后做代码合并。DevOps平台通过自动化操作,发布版本后自动合并到未来的各个分支,这使得持续集成部署成为可能,大大降低人工维护的成本。


          IP属地:广东来自iPhone客户端5楼2023-06-14 23:00
          回复
            代码质量及规范DevOps流水线集成代码质量工具SonarQube。在流水线中,开发人员提交代码到代码仓库,每个提交动作都会触发代码扫描,自动检查代码是否存在潜在风险。在集成测试阶段会进行增量代码扫描,可以方便地查看每个版本增加的问题,最大化规避这些问题可能引起的漏洞。通过DevOps平台代码质检流程,很好地解决了代码质量和规范的问题。


            IP属地:广东来自iPhone客户端6楼2023-06-14 23:00
            回复
              自动化测试
              当需要紧急上线新版本时,人工方式很难实现大范围的回归测试,特别是随着流水线的加速,测试环节成为显著的瓶颈点。大数信科通过分析金融行业常见的业务流程及特点,并针对不同类型信贷产品,特别是小微长周期的产品测试场景,自主研发FluTest自动化测试平台,基于流程引擎和接口编排技术,实现可视化的金融产品全生命周期的自动化流程测试,全面提升测试效率与准确度,保障软件质量和用户体验。测试自动化的实现,使得产品从申请到出账的全流程只需要数分钟;此外,自动化设计可以循环使用,为持续更新的产品提供自动化测试保障,积累测试财富。自动化测试有着广泛的应用场景,例如以前人工造数是一件令人头痛的事,而自动化测试可以定义入口和出口,轻松实现数据从一个节点到另一个节点的流转过程,定位出错环节,提高验证效率。自动化测试对于人员培训也具有重要意义,以往业务人员需要跑各种场景熟悉系统流程,模拟数据非常困难,而通过自动化流程的方式,业务人员可以轻松实现造数,加快熟悉系统的进程。


              IP属地:广东来自iPhone客户端7楼2023-06-14 23:01
              回复
                代码覆盖率&影响范围分析在质量场景,从代码覆盖率和影响范围分析两方面做了进一步的工作。代码覆盖率直观地反应了被修改代码的测试覆盖情况。实现上,通过埋点分析和被调用记录来标记代码是否被调用过,覆盖率越高,表明被测试过的功能越多;反之则说明某些功能未被测试。只有满足覆盖率指标要求方能上线,因此这一指标对衡量测试质量格外重要。


                IP属地:广东来自iPhone客户端8楼2023-06-14 23:01
                回复
                  其次是影响范围分析,采用静态代码分析结合动态链路技术,快速分析代码影响的业务场景和产品,辅助测试人员进行精准的测试。静态代码分析根据代码树得出改动代码的树状结构,动态链路分析在运行时进行记忆系统方法级调用链路,动静结合加上自动化流程则可得出受影响的产品。影响范围分析将指导测试人员将重要的资源投入重要的场景测试,并能发现程序的潜在风险提前预警。


                  IP属地:广东来自iPhone客户端9楼2023-06-14 23:02
                  回复
                    ChatOps & IM
                    在完成上述工作之后,DevOps进一步集成IM工具构建ChatOps链,让需求参与人实时感知需求的进度。在原本封闭的项目管理系统中,不会主动通知任务状态的变化,即使通过同步数据获取变更信息,但时效差用户体验不佳。大数信科引入智能协作项目管理系统,通过API和Webhook的方式实时获取任务状态变化,并构建自动化网格连线,使用了60多个钩子协同操作,实现自动化的各种场景,如需求变更通知、版本变更通知、分支自动化管理等。ChatOps的实现确保了消息的及时传递,减少了人工管理可能出现的疏漏,提高了工作效率。


                    IP属地:广东来自iPhone客户端10楼2023-06-14 23:02
                    回复
                      灵活发版
                      DevOps最终目标是要实现灵活发版,而要达成这个目标,一方面需要确保已有自动化运行更加顺畅,另一方面需继续进行节点分析、对瓶颈节点深度优化。为了优化自动化工作,首要考虑环境和分支模型的设计。业界有两种常见的方案:一种是利用容器化技术弹性伸缩环境实现快速生成不同的测试环境;另一种则是敏捷开发采用的分支模型策略,将不同功能的环境分别处理对应的任务,实现分支模型的管理,从而更快地交付需求。大数信科采用分支模型方案来实现按需灵活发版。如图所示,开发分支与需求匹配,集成分支与测试环境对应,各环节的部署与集成通过自动化处理实现高效交付。在实践中,此方案也带来了一个问题,即SIT测试环境成为一个大杂烩的环境,包含了未来版本所有新特性代码。大数通过合理的需求规划和敏捷交付文化宣导,指导避免冲突的出现与解决。经过实践的验证,这种模式导致的冲突非常少并且可控,而它仅通过改变分支模型实现灵活发版所带来的收益则远超预期。


                      IP属地:广东来自iPhone客户端11楼2023-06-14 23:02
                      回复
                        03DevOps在信贷科技业务中的实践效果
                        以自动化一切为理念,大数信科的DevOps一站式研发管理平台,重新塑造了产研全周期交付流水线,在与金融机构的合作实践中取得积极成果。
                        敏捷的产品研发:平台将业务、产品、开发、测试和运维紧密整合,通过自动化测试和部署等流程,实现更快速的软件交付,缩短开发周期。平台上线以来,逾60家合作机构的需求平均在两周内得到交付,内部需求实现一天一版本灵活上线。
                        提高软件质量:利用DevOps的自动化质量流程,可以快速高频地进行质量检测,最大化减少错误和漏洞风险,为合作伙伴信贷业务的稳健开展保驾护航。如在某银行合作项目中,质量流程提前识别日志组件远程调用漏洞,有效避免上线数据泄露的风险。
                        打造团队协作文化:DevOps将不同团队融合到一个交付平台中,业务需求得到更快响应,流程与任务的实时同步使团队间沟通协作更加紧密,为合作伙伴提供更加专业而高效的技术服务。
                        大幅缩减研发成本:便捷的测试和自动化发布系统大大降低了 DevOps 流程中的运营成本和人工费用,同时提高了维护工作的效率。如基于自动化测试,平台可以在1个小时内对50+产品进行全场景覆盖测试。
                        提升客户体验:DevOps的持续性开发模式通过快速迭代进行反馈和调整,实现更高质高效的新特性开发和推出,保证系统金融级别的安全与稳定性,提高客户体验。
                        支持信贷科技探索创新:近年来,大数信科在数字信贷科技创新研发与应用中不断取得突破,从信贷产品的迭代与多元化、风险管理技术进阶的实施、客户管理的精细化运营,到与金融机构合作模式的创新探索。在此过程中,DevOps一站式研发管理平台以敏捷、高效、有质量的交付,为一系列创新提供了坚实的科技支持。


                        IP属地:广东来自iPhone客户端12楼2023-06-14 23:04
                        回复
                          数字信贷的深化发展离不开IT新技术的基础建设。《金融科技发展规划(2022-2025年)》明确提出,借助业务开发运维一体化(BizDevOps)快速迭代交付模式,持续优化完善产品开发和交付质量;《关于银行业保险业数字化转型的指导意见》也指出,在数字化时代要做到“业技融合”。大数信科独特的DevOps信贷科技研发流水线,在近年来复杂的行业市场环境中,成为业务发展与创新的重要推动力。未来,DevOps工程能力建设的持续深入,将进一步赋能业务快速响应客户需求、高质量地践行“业技融合”,也必将敏捷、高效地支持数字信贷科技的创新探索。


                          IP属地:广东来自iPhone客户端13楼2023-06-14 23:04
                          回复