面对以云计算、大数据、人工智能、区块链等为代表的颠覆性力量,如果企业不主动求变,肯定会陷入被颠覆的尴尬境地。互联网金融的蓬勃兴起,曾经一度让传统银行业濒临这种尴尬境地,因此才会有像招商银行这样借助金融科技的力量全方位打造“最佳客户体验银行”的转型之举。
对比互联网金融公司,银行既有不足也有长处,如果能够在保持长处的基础上补足短板,那么银行不仅不会被互联网金融公司所颠覆,甚至可以反过来颠覆对方。“我们在开发规范性、流程完备性、运行高保障等方面拥有很多优势,只需在快速交付、新技术应用、与业务深度融合等方面进一步加强,就可以更好地满足客户不断变化的需求,与时俱进。”招商银行总行信息技术部首席it工程师、核心业务开发团队负责人尤堂成表示。
在金融行业,一直以创新者姿态示人的招商银行,在数字化转型和基础架构云化方面又有哪些成功的经验值得借鉴呢?
没有最好,只有更适合
对于银行来说,安全稳定是头等大事,这是打造技术架构的首要考虑因素,同时还要兼具可管理性和弹性,反而没有必要过分追求类似互联网用户的极致扩展性和可变性。归根到底,银行还是要基于业务需求和监管要求,对应用进行分类分级,选择最合适的架构,兼顾当前成熟的基础架构,并保持技术上的持续演进。
在it基础架构建设方面,招商银行有自己的原则。首先,架构必须适合银行的业务发展。只有将科技与业务深度融合,通过业务流程优化和创新,才能事半功倍。其次,架构建设要以我为主,借鉴为辅。招商银行的一大优势就是在技术上博采众家之长,融会贯通,最终形成自己的东西。再次,奉行“简单”之道,在设计架构时如果有多种技术和方案可以选择,招商银行会尽量选择简单的,充分保证可维护性和可靠性。最后是走平台化道路。招商银行现有的开发人员达数千人,如果没有一套稳定的平台和技术体系,各自发展,那是不可想象的。
尤堂成坚信“没有最好的架构,只有合适的架构”。招商银行始终秉承“适合我们的才是最好的”理念,构建完整的架构体系,融合各种技术平台,更好地支持不同应用场景的需求。
因为历史的原因,银行的核心业务大多运行在主机平台上。但在分布式的互联网应用快速兴起后,开放架构渐渐成为主流。主机平台与开放架构似乎水火不融。主机平台成本略高,但是在可用性、可维护性方面具有无可拟的优势;开放架构的优势是开发资源易获取,扩展方便,成本相对较低,但也存在服务器数量巨大、维护要求较高,以及可用性相对较低等不足。招商银行是一个“太极高手”,其最大优势就是将主机和开放技术恰当地运用到其技术生态系统中,充分发挥两种技术的最大价值。
中国人民银行于2018年8月发布了“云计算技术金融应用规范”,从技术架构、安全技术和容灾等维度提出了监管要求,强调云技术架构要满足各类业务和监管的要求,同时指明了以私有云为主、金融行业云为辅的多云化发展方向。以招商银行为代表的多家金融机构率先开展实践,在行内私有云建设和金融行业云输出方面取得了不少成果。特别值得一提的是,招商银行继续发挥power平台的优势,走出了一条it架构云化的新路。
喜新不厌旧
颠覆就是不问清红皂白,彻底抛弃原有的东西吗?非也!招商银行虽然加快了开放的步伐,积极借鉴互联网思维,但对于一直稳定地支撑着大量核心业务的主机并没有全部抛弃,反而是更加善用,放大其优势。
招商银行使用as400主机超过20年,形成了一套比较有特色的体系,尤其是在系统开发、运维管理方面有很多创新。尤堂成这样评价as400主机:它是性价比极高的一个综合技术平台,简单实用,其很多理念放在当下仍不过时;开发运维效率高,能够快速创造价值;可用性高,能够满足银行核心业务严苛的可用性要求。
众所周知,as400主机的可靠性非常高,可能是唯一没有出现过病毒的操作系统。根据as400主机的特色,招商银行运维部门做了大量保障性工作,在权限管理、系统监控、安装部署等方面形成了一套完整的体系。基于as400主机,招商银行构建了“两地三中心”架构,可以实现分钟级切换。“我们的开发与运维团队一起,在系统设计时就考虑了大量的非功能要求,让主机集中资源完成擅长的工作,不擅长的工作通过其他方式实现。我们还开发了一系列监控工具,可以秒级监控所有应用的请求情况,并对异常应用进行有针对性的优化。通过一键部署等工具,让开发测试上线过程标准化,降低操作风险。总体而言,as400是一个很好的平台,但也需要我们更多的呵护,这样才能最大程度地发挥这个平台的作用。“尤堂成表示。
除了关注核心业务的稳定安全以外,招商银行在分布式架构、敏捷开发、智能化应用等方面也进行了有益探索,as400平台在其中表现出极强的适应性。
分布式架构是发展的潮流,它主要解决了两个问题:一是性能问题,二是可用性问题。但是由于cap理论,分布式架构也存在一些困难,比如跨库事务等难题,这些对系统的设计提出了更高要求。
举例来说,招商银行借记卡业务的第三代系统主要是拆分零售业务和对公业务。为了应对这类分布式应用的需求,招商银行自主研发了一套分布式交易平台,通过虚机和容器部署应用节点,实现统一调度,解决应用层的扩展问题;通过分库分表将数据库表拆分到多个数据库服务器,实现数据处理压力分摊;通过将应用节点和数据库节点逻辑绑定,实现架构清晰和易维护性;通过统一的服务中心解决应用的路由问题。尤堂成介绍说,近年来,招商银行的主要交易系统都建立在该平台上,如高性能支付系统,包括网联支付、信用卡代授权、银联无卡等子系统,实现了3万tps以上的压测处理峰值。另外值得一提的是在最高峰值段,招商银行的as400主机cpu占用保持在40%以下,有较大的性能余量。
如今,快速迭代、敏捷开发已经成为保证客户体验的有力手段。招商银行专门成立了项目办公室、架构办公室等部门,制定完善的开发流程,提供完整的开发规范和devops工具支持,实现了所有开发工作的可视化,极大提高了开发效率。在将敏捷开发应用于互联网类应用开发方面,招商银行积累了丰富的经验。举例来说,互联网类应用具有“小额高频”的特点,并且存在大量交互查询请求。针对这些要求,招商银行有选择地部署系统模块,通过准实时数据传输平台,将主机上的数据秒级同步到开放平台,将一些交互处理在开放平台完成,同时将一些相对独立、简单的业务进行开放和主机平台混合部署,并将模糊查询、数据报表等分析型应用迁移到其他平台完成。招商银行的博采众长、融会贯通,在这里体现得淋漓尽致。
按部就班实现架构云化
包括as400和rs6000在内的power系列服务器在招商银行有着非常广泛而且成熟的应用,已经部署的数千个aix实例强有力地支撑了招商银行的业务发展。power服务器在虚拟化和可用性方面的优势一直为人所称道,开放的openpower服务器也在大数据、ai、超算等领域展示出极强的竞争力。
正如尤堂成所说,基于power的as400平台历久弥坚,与时俱进,持续跟踪新技术的发展,比如支持新的开发语言,如java、python,node.js等;在高可用方面,通过db2mirror技术可以实现应用级和数据层的全面双活;借助最新的power enterprise pool技术,可以实现跨中心跨服务器的资源动态调整,以应对业务高峰,并有效降低整体拥有成本。
浪潮商用机器针对金融行业客户提供了全面云化路线图。在浪潮商用机器的协助下,招商银行依据全面云化路线图,在power平台上同样实现了云化,不仅搭建了稳定安全、灵活高效的私有云,并且将自己的云能力向外输出,实现了由内而外云能力的提升。
首先,招商银行的核心交易系统不仅要求安全稳定,同时也要兼顾私有云的弹性。配合招商银行的分布式核心架构设计,将power as400作为分布式架构的胖节点,通过少量高稳定、高性能的服务器满足业务需求,同时通过power enterprise pool随需调整cpu、内存资源,实现纵向动态扩展,使得招商银行的核心架构同时具备了分布式的横向扩展能力和集中式的纵向扩展能力。
其次,招商银行基于power虚拟化的大规模虚拟化资源池,以数千规模的power虚拟机全面承载全行的主要数据库和关键业务平台,实现了稳定性和利用率的完美平衡,单机普遍可承载达30~50个虚拟机,且保持使用率在50%以下,业务弹性和高性价比兼具。
再次,基于招商银行的大规模power虚拟化架构,实现了资源、数据和应用的全面云化部署,搭建了灵活、敏捷、高效的异构云平台,实现跨平台、自动化、流程化和自服务,并积极探索容器云在不同业务场景中的落地。
最后,基于招商银行的私有云最佳实践,浪潮商用机器与招银云创合作,积极输出招商银行在power云化和as400分布式核心、ai创新等方面的最佳实践,帮助同业共同进步。
招商银行秉承理念先行、按需选择、长期共存、稳步演进的思路,在基础架构云化的道路上不断摸索前行,目前其私有云已经拥有近万台服务器的规模。还是那句话:“没有最好的架构,只有合适的架构”。招商银行从自己的实际应用需求出发,在power架构和开放架构之间找到了最佳平衡点。