云效助力新金融DevOps转型——南京银行实践之路

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 测试管理,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
简介: 在2018云栖大会南京峰会企业研发云专场,由南京银行研发管理负责人吴攀带来了“云效助力新金融DevOps转型——南京银行实践之路”的主题分享。首先对南京银行的研发规模与成长做了介绍,对“鑫云+”的诞生和其架构应用做了详细的讲解。

在2018云栖大会南京峰会企业研发云专场,由南京银行研发管理负责人吴攀带来了“云效助力新金融DevOps转型——南京银行实践之路”的主题分享。首先对南京银行的研发规模与成长做了介绍,对“鑫云+”的诞生和其架构应用做了详细的讲解。
数十款阿里云产品限时折扣中赶快点击这里领券开始云上实践吧!
直播视频请点击
以下为精彩视频内容整理:

南京银行研发规模概况

_10


简单给大家介绍一下南京银行现在的规模,南京银行的科技现在有运维中心、研发中心和科技管理部,我是在科技管理部负责配置管理和研发过程管理。我们现在正式的员工有200多人,外包合作场商有600多人,在线运营的运营系统有300多个。
有人说银行不就是有柜面、网银、手机银行吗?在这里想和大家解释一下,举个例子。一个贷款的产品,除了要涉及到本身的核心柜面,贷款本身的系统以外,可能还涉及到风控,涉及到大数据,然后总账,还有账户管理,还有监管。那么银行的这种交易的特殊性,导致了每一个产品可能都有很多个系统在背后支撑,也就导致了交易的链路会非常的长。

南京银行研发管理的成长历程

_11


很荣幸在加入南京银行之后正好是金融快速发展的这些年,见证了南京银行科技力量不断增强的一个过程。最开始的时候银行可能只有几个系统结构简单,但还是有很多技术强人,他可能技术能力很全面,他可能一个人就把系统都做好了,把一个系统维护好。那么银行的业务不断扩展,用户可以买理财,买债券,可以融资等,这样就导致了很复杂的系统结构。这个时候如果还像原来作坊式的开发模式就行不通了。举个例子,在刚刚工作的时候有一个项目经理,他是非常负责任的,他每天下班前都会做一个excel表记录团队里每个人今天修改了哪些代码,在哪个模块上做了什么,这样手动去记。在多行研发的时候根本就不可能完成的。到2014年的时候系统已经到200套了,也就大概六七十个人,这个时候仅仅靠人是根本不能完成的。这个时候就决定要引入外部的管理,要有流程,要有质量。2014年的时候获得了CMMI ML3和ISO的体系认证。

传统金融业研发过程管理痛点

在建设这些体系的过程中也是跟传统银行业一样遇到了很多痛点,比如厂商很多,拿过来的原型也很多。原先的这种模式是外购为主,经过适配很快就能把业务连接起来。这样的弊端就是各种各样的技术架构,非常复杂,在这样复杂的系统架构里边去实施一个流水线是一件非常痛苦的事情,同时也带来了银行的业务要求需要迭代非常快。如果这么多的问题,没有一个工具来管理的话,是不能完全应付的。当时我们也做了一些统一的工作,设立了一些系统把需求管起来。架构也要统一起来,即使是一部分的统一也要尽量的保持不要浪费资源。配置管理也用了一些集成的工具,还有测试到部署。但是一个点的快并不是全流程的快,想要快速交付这个价值,需要一个完整的不能中断的流水线才能尽善尽美。这些问题怎么解决呢?接下来进行一个介绍。

“鑫云+”的诞生

2017年1月份这个思想才萌芽,真正开始进厂的时候是2017年的7月,等到上线是2017年11月,先来介绍一下“鑫云+”是一个什么概念呢?南京银行是鑫合俱乐部的一个牵头行,鑫合俱乐部有140家成员行,所有的资金在一个联盟里面。另外的一头连接的是互联网。作为这两头的桥梁,可以连接出很多种可能。

“鑫云+”项目架构变革

“鑫云+”从7月份进厂之后就对厂商原有的产品做了重构,所有的规范全部重来。拆成微服务、换数据库中间所有的这些标准全部按照阿里蚂蚁的要求做修改。在这个基础上提出来DevOps体系。

_12


云效在DevOps上落地的一些内容,从开发开始→测试→集成→部署,包括环境管理、监控。这一套整个的可视化非常的强,也简单易用的一个流水线。这样的话工作者不需要学很多,尤其是测试人员,只需要三堂课就可以将上万条案例都测试完。

“鑫云+”项目并行开发、多分支管理、持续集成

在云效值得学习的三个地方,第一个就是分支开发的这个模式,在传统端,比如有一个老的开发系统已经开发了很长时间,有一个大的模块可能半年才上。但是同时又有其他小的需求,可能一两周就要上,同时可能也有一些bug要修复,三条线并行。这时候往往出现的一种情况是虽然也分支了,但是并不能管控所有人的提交时间,可能提交的时候会产生冲突,就需要解决冲突,配管员就是解决冲突的。还有一种就是在只有一个主干的时候,上线的时候通通往上交,交到最后发现又要去解决依赖的问题。所以这个时候自动化就根本无法实施,交付的自动化当时对于我们来说是非常难解决的问题但是云上解决了。
云效首先永远有一个保持正确的主干,来了一个需求之后,会有特性分支,并行的特性分支开发完之后。如果这三个需求都要上,那就从主干上打出一个集成分支到认证环节去测。如果发现有问题有一个需求不能上,全部回滚回来把正确的两个打出集成再往下走。所有的这些自动化非常的快,不需要在里边摘代码,不需要查看冲突,都能快速的完成。

“鑫云”项目测试效能提升

_13


在2016年新核心上线的时候上了一个新的系统,核心系统对于一个银行来说相当于信道,它的改动会使其他系统得到改动,当时这个系统的重建也是非常巨大的一个工程。在当时的时候是没有一个这样好的自动化的测试工具,所以当时测试是一个非常耗成本的事情。到了“鑫云+”的时候我们也是核心,我们是全国首家商业银行能够实现分布式核心的银行。 “鑫云+”是一个通道式的平台,其实大部分的时候是没有界面的,靠人工测界面是测不起来的,但是又希望提前去发现这些问题。所以更多的时候测试是要分层次的,更多的是对接口的测试针对服务的测试,把这些都测掉,别切云效能够在它的系统里做自动的留痕。保证再去重新跑一遍的时候只要是修改的测过的都能够正确的上去。

“鑫云+”混合云架构的安全策略管理

在这里要感谢云效,一开始是采用混合云的架构,在公有云上测试,在私有云上面生产。
这样的话,就必须要有一个链路去通到公有云。云效在这里帮助做了一些安全策略,或多个中枢扭转的这种设计,使得我们既能满足监管要求也能够无缝对接迭代快速的开发模式。
本文由云栖志愿小组陈欢整理编辑

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
9天前
|
监控 Devops 测试技术
DevOps实践: 持续集成和持续部署(CI/CD)的入门指南
【9月更文挑战第10天】在快速迭代的软件开发世界中,DevOps已经成为加速产品交付、提升软件质量和团队协作的关键策略。本文将深入浅出地介绍DevOps的核心组成部分——持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD)的基本概念、实施步骤以及它们如何革新传统的软件开发流程。你将学习到如何通过自动化工具简化开发流程,并理解为什么CI/CD是现代软件开发不可或缺的一环。
|
5天前
|
Devops jenkins 持续交付
DevOps实践:构建和部署一个Docker化的应用
【9月更文挑战第14天】在当今快节奏的软件开发领域,DevOps已经成为提升效率、加速交付的关键。本文将引导你理解DevOps的核心概念,并通过一个实际的示例—构建和部署一个Docker化的应用—来深入探讨其实践方法。我们将从简单的应用出发,逐步实现Docker容器化,并最终通过CI/CD流水线自动化部署过程。这不仅是对DevOps流程的一次实操演练,也是对现代软件开发理念的一次深刻体验。
|
7天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
18 3
|
14天前
|
运维 Kubernetes Devops
DevOps 实践:从理论到现实的转变
【9月更文挑战第5天】本文旨在探索 DevOps 的核心理念与实践,通过深入浅出的方式,揭示 DevOps 如何影响现代软件开发和运维。文章不仅讨论了 DevOps 的理论框架,还提供了具体的实施案例,帮助读者理解如何在现实世界中应用这些概念。我们将一同见证 DevOps 如何优化流程、提高效率,并最终促进业务的成功。
|
13天前
|
运维 监控 Devops
DevOps实践:从理论到落地的旅程
在软件开发和运维日益融合的今天,DevOps已不仅仅是一个流行词汇。它代表了一种文化和实践的转变,旨在打破部门间的壁垒,加速产品从构思到市场的流程。本文将带你了解DevOps的核心理念,并通过实际案例展示如何将这些理念应用到日常工作中,实现高效协作和持续改进。无论你是DevOps新手还是资深专家,这篇文章都将为你提供新的视角和实用的技巧。
|
16天前
|
Devops jenkins Shell
DevOps实践:持续集成与持续部署(CI/CD)的探索之旅
【9月更文挑战第3天】在软件开发的世界里,DevOps已经成为了提升效率、加速产品迭代的关键。本文将深入浅出地探讨DevOps文化中的核心实践——持续集成(Continuous Integration,CI)和持续部署(Continuous Deployment,CD),并展示如何通过实际操作来优化开发流程。我们将一起踏上这段旅程,解锁自动化的魅力,让代码更流畅地转化为价值。
|
16天前
|
运维 监控 Devops
DevOps实践:构建高效运维流程
【9月更文挑战第3天】在当今快节奏的技术环境中,高效的运维流程是企业成功的关键。本文旨在揭示如何通过DevOps实践,构建一个既灵活又高效的运维体系。我们将深入探讨自动化工具、持续集成与持续部署(CI/CD)策略以及监控和日志管理的最佳实践,以实现运维工作的优化。文章将用简洁明了的语言,结合生动的比喻,带领读者走进DevOps的世界,学习如何将理论应用到实际工作中去。
|
22天前
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
22天前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
22天前
|
敏捷开发 监控 Java
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。