嘉宾介绍:陈沙克,招银云创战略研究院总监,从2010年开始从事云计算相关工作,做OpenStack七年有余,目前在招银云创负责PaaS相关工作。此文为陈沙克在数人云PaaS Innovation 2017,构建灵动新IT大会上的演讲实录。
招银云创是招商银行的全资子公司,代表招商银行进行科技的输出,致力于将招行30年的经验和技术积累输出给广大金融企业,帮助同业同行快速的金融创新。
容器快速交付提高金融的互联网化
金融行业特性与其他行业在思维方式上有很大不同。
金融是强监管行业,尝试新技术面临监管的要求。那么,强监管下如何跟上变化的需要呢?这里面展开可以有很多故事。在Fintech互联网金融影响下,银行在监管上其实有所放松。其次,银行业有非常严格的安全性要求。由于历史原因,银行内部IT系统非常复杂,通常每家银行都有上百个系统。
中国的银行体系非常庞大,这可能跟金融行业外朋友的感知不同。这些银行包括农村信用社、农村银行、城市商业银行等,他们都有巨大的IT系统托管需求。招银云创就是服务以上这些客户。
随着银行业务的发展,之前系统托管和所服务的客户都是场地托管,系统灵活性不足。但随着互联网以及业务的发展,客户开始提出一些定制化的需求,对银行业务的开展产生巨大挑战。
互联网化的金融IT需求如何应对?客户定制化需求如何满足?金融行业云在互联网金融汹涌来袭的背景下,面临巨大挑战。有同行强调,银行要做金融的互联网,而不能由互联网来主导金融。其实,今天在金融行业的人都应该有这个想法。
招银云创PaaS平台希望将各种行业的应用放在PaaS平台上,帮助企业更快地落地。假如银行有100多个项目同时开发,对于前面提到的大多数银行来讲是不现实的,希望有一个平台能帮助企业实现快速交付。
如何才能做到快速交付?招银云创认为,只有标准化形成规模,才能够将很多东西以一种标准化的形式提供出去,同时也要满足企业未来发展的需求。容器就是一种在标准化和简单化之间找到平衡的技术。
成熟的容器正在让开发人员再也看不到IaaS
现在简单介绍一下招银云创PaaS平台的架构。对于银行来说,金融行业全部应用都是基于JAVA来开发。但现在,新的应用都要求基于Spring Cloud框架来开发,只有用Spring Cloud框架开发,放在PaaS平台上才能体现出优势。容器的管理平台现在已经比较成熟。Kubernetes在新一轮的编排工具大战中胜出,但仅仅一个Kubernetes满足不了金融PaaS的需求,容器周边还需要诸多辅助系统,从而让开发和运维人员更好地使用。
在过去的两个多月,招银云创一直在推动将自己的Spring Cloud应用迁移到PaaS平台。这次迁移团队也积累了很多经验和教训。
首先,配置管理。Spring Cloud的配置管理是用git来管理的。当把应用搬到PaaS平台上时,运维人员会向开发人员提出配置管理的要求,比如要求开发人员对配置要统一管理,不能到处放置配置文件。
开发人员很乐意接受这个建议。以往推PaaS平台时,对开发人员的工作改动量很大。现在,新的PaaS平台开发人员感受到的,不是改动多少代码,而是带来多少便利,以及给出很合理的需求。
招银云创希望在整个Spring Cloud里面配置管理,不仅可以用Git管理,而且开发自己的配置管理中心来完善PaaS平台。
日志管理向来复杂,银行的日志则会更加复杂。原因在于,日志含有大量交易信息,这些信息不仅需要保留,而且要检索。除了系统日志,还包含应用的日志,应用日志量非常庞大,甚至达到每天T级别的日志量,尤其采用微服务后。那么,这些日志应该如何处理呢?
招银云创希望日志管理简单化。对于传统的金融行业来讲,技术没有那么丰富,采用的技术眼花缭乱任何团队想完全Hold住都有压力。招银云创同时希望日志标准化,实现日志的统一管理。招银云创的应用多是自己开发,对应用的日志输出做出要求,这样整个PaaS平台能够真正用起来。
如今,监控已不像以前那么眼花缭乱,Prometheus也实现了一统江湖。加之官方的展示,基本满足招银对监控屏展示的要求。
持续集成则跟开发密切相关。以前在做OpenStack时,经常谈到怎么用OpenStack虚拟机来做持续集成,那个过程很痛苦。因为虚拟机的启动、安装、部署代价非常高,持续时间周期很长。在OpenStack上做开发,如果要跑一两个小时才能出结果,这在传统企业是根本无法接受的。采用容器的CI以后,这种局面得到彻底改观。所有的提交以及镜像发布到测试,可以做到分钟级解决。借助各种内网的源,整个镜像和发布过程很快。
对于新的PaaS平台来说,重点工作之一是通过发布管理去发布。PaaS平台偏运维,在招银云创内部,运维人员能够深切地感受到对自身带来的巨大帮助,以前纯手工的过程全部自动化完成。在过去的两个月,招银云创内部推动PaaS平台积极性最高的也是运维人员,实现了从手工到完全自动化,甚至智能化。招银云创已经做到代码一提交,马上去做镜像,然后推送到发布的一体化流程,这在以往不可想象。在没有容器之前,哪怕采用Spring Cloud开发应用,也无法发挥它的特点。
回到镜像管理,镜像管理能够看到很多方案,但对企业来说,镜像积累到一定程度,变成企业的资产,日后有可能代替电子仓库。云创镜像积累的很好,一些不同版本都能够得到快速满足,实现快速迭代,满足开发需求。
经过两个月PaaS平台的使用,运维人员感触最深的是“开发人员已经看不到IaaS平台了”。为什么这么说?以前开发人员经常要在IaaS平台里面启动各种虚拟机,来进行测试、完善。用了PaaS平台后,开发、发布、交付生产线,都已经不需要关注底层是虚拟机还是物理机,只需要关注一个PaaS平台。