前言
最近公司在考虑将银行外围系统上云,目前很多互联网公司的系统都是在云上的,根据系统的安全级别、弹性要求还有系统的业务重要性,分别部署在私有云有的是部署在公有云,有的甚至是直接使用公有云SaaS服务,这么做的好处就是大大降低了数据中心的成本,从机器到人力资源都得到了解决。虽然在互联网很常见了,但是在商业银行实施上云的银行并不是很多尤其是公有云系统托管,因为之前在中国银行和互联网公司都遇到过系统上云这件事,今天这篇就从商业银行上云这件事来聊聊个人看法。
云计算发展历程
云计算经过这几年的快速发展,主要经历了3个大的阶段:
1)第一阶段是面向数据中心运维人员的IT基础设施资源虚拟化阶段,这个阶段主要实现了硬件资源的软件虚拟化,可以让很多系统复用在同一台物理机上;
2)第二阶段是面向基础设施云租户和云用户的资源服务化与管理自动化阶段,该阶段主要体现在通过管理平台的基础设施标准化服务和资源调度自动化软件的引入,面向租户,将原本需要通过数据中心运维人工干预的基础设施资源复杂低效的申请、释放、配置过程,转变为在一定条件下的自动化资源发放和回收的过程。这个阶段的发展对数据中心的改变是巨大的,尤其是对于原先运维管理产生了翻天覆地的变化;
3)第三阶段是面向企业IT应用开发者及管理维护者的企业应用架构的分布式微服务化和企业数据架构的互联网化重构及大数据智能化阶段。这一阶段的重大变化是企业的IT架构本身就从去IOE,走向了微服务架构和开源中间件的运用,分布式无状态化架构从而使得企业在应对变化的时候能够迅速响应并支撑业务敏捷化、智能化以及资源利用率的提升迈上一个新的台阶。
从这三个阶段的快速变化可以看出云计算在最近的10年中经过了飞速的发展,发展速度远远超出了我们的想象。
商业银行面临的挑战
从互联网行业的快速发展我们可以发现,一个个传统行业被互联网公司拿下,为什么会这么快的被攻下,我分析下来有几个原因:
1)互联网公司在同一个服务上能够提供更加便宜的甚至免费的服务;
2)互联网公司在保证服务质量的情况下,还能提供更好的用户体验;
3)互联网公司能够更加快速的响应客户的需求;
4)互联网公司能够通过更多的维度去进行盈利。
说了其他行业那么容易被互联网公司攻下,但是你会发现商业银行还是活的挺好啊,但是只要简单的换个角度,从那些被占领行业的传统企业的经历上可以看到一般一个行业如果没有特别强的壁垒,基本经过3-5年就会完全被互联网取代,目前商业银行还能活下去,都是靠央妈的风险政策和银行牌照来限制那些凶神恶煞的互联网公司,把他们都挡在在城墙外,就这样严格的限制,这几年也出现了移动支付满大街、P2P泛滥,各种花式互联网金融玩法。一旦政策放开,那么互联网公司的长枪大炮就会直接面对我们商业银行的大刀盾牌,结果可想而知。
为了能够快速跟上互联网公司的节奏,并不是简单的做个app就是移动互联网金融了,而是后面配套的高速需求响应、客户-运营数据的大数据分析、基于大数据高效的营促销手段、敏捷的快速迭代开发、高效的数据中心运维等等。
和互联网公司的差距上,这些问题其中大部分都可以通过升级系统和丰富产品线、提高运营能力来解决,但是其中的高效开发和运维很难在短期内通过其他手段解决,必须要整体提升开发和运维模式以此来提升,目前这两块内容对于银行来说,可以通过云计算实现弯道超车,使用成熟的云平台能够快速缩短银行在科技层面和互联网公司的差距。
上云能解决什么问题
上面讨论了商业银行遇到的问题,其他几项都是涉及到业务和开发,其中高效的数据中心运维就会涉及到系统上云这件事。看似就一句话,但是这个工作其实是其他几项工作的起点或者说是铺垫。系统上云以后首先可以简化系统运维工作。
首先基础硬件设备层面的问题可以不用再关心,这里的硬件不单单指应用服务器,当然也包括防火墙、加密机、网络设备等等,单单基础设施这块上云就可以解决数据中心的基础硬件运维工作,可以大幅缩减数据中心的运维人员并且对于一些专业人员的配备也可以缩减,可以减少公司的用工成本,同时能够大幅提高基础运维效率,申请一套环境效率将得到很大的提高,可以做到秒级的资源申请,这在传统的数据中心是不可想象的。
其次对于一些各个应用系统使用的公共中间件也可以使用基于PaaS的云服务这样对于规模较小的公司或者没有一定中间件运维能力的公司来说简直是一个福音,能够在满足基础中间件功能要求的前提下还可以减少中间件大量的运维工作,我们都知道中间件的日常运维也会耗费比较多的精力,尤其是涉及到版本升级和故障修复,一旦这块能够通过PaaS云平台来解决,那么将大幅减少这部分基础性的工作。
还有就是对于应用开发团队来说使用IaaS和PaaS都会带来比较好的开发体验,环境的申请更快更方便了,生产环境也可以根据具体业务量做到弹性伸缩,不会再遇到生产环境交易量突增大家束手无策只能等待数据中心临时手工增加资源的情况,同样会大幅度减少因为中间件某个节点出现问题导致系统故障,这可以让开发人员能够将主要精力都放在应用逻辑的实现上,不用每个人都成为操作系统专家、中间件专家、数据库专家。
最后也是上云会带来最大的优势,能够大幅度减少科技支出,IaaS层的使用可以提高硬件资源的使用率,按照行业内数据可以减少60%的资源浪费,这样光硬件这块就可以减少60%的成本;使用了PaaS中间件后,对于中间件的license购买或者是开源中间件的学习成本都会得到降低,这块具体成本要根据公司内使用中间件的情况来确定;对于直接SaaS服务的系统来说,解决的成本就更可观了,按需使用外部服务,用多少支付多少费用,能够大幅减少前期的系统开发或购买成本。
上云会遇到什么问题
应用系统上云其实可以从几个层面去分析,一个是上公有云还是私有云,一个是直接使用SaaS服务还是把应用系统部署到IaaS上。
上公有云还是私有云,这个问题也是目前在银行行业内争论最厉害的,并且监管对这块的态度也是模棱两可。上公有云的好处是能够大幅度缩减银行在数据中心的基础开支,但是坏处就是银行客户数据都在公有云上,安全性是否可以保证?稳定性是否可以保证?系统间网络通讯时效是否能保证?而且对于银行数据上公有云,央行有专门的发文规定,“商业银行不允许将客户信息存储在社会性公有云,防止发生系统性风险事件的发生。”。但是如果使用私有云,那么搭建成本又将是巨大的,对于大行来说,可能可以cover住成本,但是对于小行来说搭建和维护私有云的成本也是巨大的和原先自己组织数据中心的成本差不多,而且有可能私有云实施的成本更高。
还有一个需要考虑的问题是直接使用一些软件供应商提供的SaaS服务还是使用云供应商的IaaS?使用云供应商的IaaS对于数据中心运维的同事来说,这么改变最少的,在基础运维的过程中,感觉上就是更换了IP地址,但是如果使用SaaS服务,那么就要考虑好SaaS服务跟现有系统如何交互,如何将SaaS服务更好的融合到现有的系统体系和架构中。
对于涉及到多地多中心的银行来说,还需要考虑云供应商不同机房之间的数据同步和容灾问题,因为系统上云以后,机器对于银行来说是透明的,这就要和供应商一起讨论如何通过现有的云服务来解决多地多中心的数据容灾方案。
当然最重要的当然还是云安全问题,云数据中心上承载的业务种类众多,各业务类型对于不同计算单元之间,计算单元与存储单元之间,乃至不同安全层次的计算单元与外部开放互联网网络和内部企业网络之间的安全隔离及防护机制要求动态实现不同云租户之间的安全隔离。
需要上云吗?
其实从现在看来,银行系统上云是个必然趋势,未来商业银行的科技部门为了节约成本,将更多的精力放在业务产品的实现上,而不是将精力都花在处理系统运维、硬件维护、网络管理等基础性工作上。要实现这样的工作聚焦,那么势必要求我们将这些基础型工作全部托管给别人,说到底进行云托管可以很好的解决这个问题,虽然目前还没有银行将系统大规模的迁云,但是这将是一个必然的趋势,监管也会对这块渐渐松口,允许商业银行使用公有云技术来减少科技的一些基础开始,提高资源利用率,提升整体的运维能力,让科技部门能够更好的服务好银行业务部门。