传统大型银行转型拥抱Kubernetes
【编者的话】Kubernetes已经成为一个标准的基础设施,就连传统大型银行(如意大利最大的银行联合圣保罗银行)已经开始转型拥抱Kubernetes了,这是一场令人兴奋的技术变革,让我们一览为快吧。
尽管大多数企业仍未在生产环境中应用Kubernetes,但这家意大利最大的银行显示出了前进的方向。
Kubernetes已经成为一个标准的基础设施API,具有Red Hat、Mesosphere(现在是D2IQ)和Pivotal等供应商无法逃避的吸引力。如果你从事的业务是使企业能够构建应用程序,那么你要支持Kubernetes了。
对于那些应用构建企业来说,Kubernetes的应用仍然有一定的吸引力,CNCF在2018年的一项调查中发现,生产中运行Kubernetes的企业占40%。在这60%还没有接受过Kubernetes培训的银行中,你会发现一些规避风险的银行。作为一个垂直的行业,传统银行不像对冲基金和交易兄弟公司那样不断寻求优势,除非迫不得已,否则它们不喜欢跨越技术鸿沟。这些人仍然在30年前的大型机技术上运行他们的ATM网络。
Kubernetes正在改变这一点,我听说过 ING拥抱Kubernetes ,但是这个用例遵循了DevOps社区中其他早期采用者的做法。容器和业务流程对于改进CI/CD非常有用,但是传统的银行会在这样一种年轻的技术上运行其真正的业务吗?作为Kubernetes已经变得多么炙手可热的一个标志,这家意大利最大的银行不仅会这么做,而且正在这么做。
这其中的原因以及Kubernetes所要求的文化变革令人着迷。
意大利式的数字化转型
Banca Intesa Sanpaolo银行(联合圣保罗银行),成立于2007年,通过意大利Banca Intesa商业银行和圣保罗IMI的合并,是意大利最大的银行和欧洲最大的340亿美元的市值的银行。总部设在都灵,银行有5000多个分支机构和服务约1900万客户在欧洲和中东十几个国家,以及支持全球超过25个国家的国际影响力。
2018年,该银行启动了一项战略性数字转型倡议,称为“通过创新实现数字架构再工程”。其策略是采用微服务和容器体系结构,并从单体应用程序迁移到多层应用程序。其目标是加速开发周期,减少应用程序占用空间以获得更大的灵活性,并提高可伸缩性和可靠性。该银行的IT部门正在转型为一家基于现代CI/CD实践的软件公司。
该计划的核心是运行由Kubernetes管理的容器的挑战。
该银行首先在其遗留的虚拟机(VM)基础设施上运行试验容器项目。这些试点项目取得了成功,但该银行想看看能否在裸金属上运行Kubernetes和容器。它能否利用性能优势,同时避免为VM许可证付费的开销呢?
这并不是一个不起眼的决定,因为裸金属和Kubernetes通常意味着DIY。联合圣保罗银行(Banca Intesa Sanpaolo)没有从零开始建设,而是转向Diamanti开发的一种设备方法。Diamanti系统是一个普通的x86服务器设备,预装了普通的Linux和Kubernetes,但增加了一些cards来克服网络和存储方面的I/O挑战,这些挑战可能会阻碍Kubernetes在生产环境中的部署。
扼杀老式应用程序
从软件的角度来看,这种方法意味着银行可以继续专注于Kubernetes和容器策略。同时,底层基础设施层还可以满足其对存储和网络虚拟化的所有要求,并具有高性能级别,以满足业务单元SLA。Diamanti的管理软件为银行提供了跨多区域和多站点集群的高可用性,为不同应用程序提供了不同业务临界级别的服务质量保证。
如今,该银行受理了3000多份申请。其中,目前超过120家正在使用新的微服务体系结构进行生产,其中包括对联合圣保罗银行最关键的10家企业中的两家。
联合圣保罗银行希望在微服务上运行哪些类型的应用程序呢?从一开始,团队就关注两类应用程序:新应用程序和单体应用程序。所有新的应用程序都立即使用微服务方法构建。
对于现有的单体应用程序,银行遵循所谓的扼杀应用程序模式。随着新功能被添加到任何遗留应用程序中,每个新功能都被添加为一个新的微服务迷你应用程序。遗留应用程序和微服务应用程序并行运行,直到最终迁移到一个新应用程序中,在这个新应用程序中,旧的单体应用在生命结束时被“扼杀”。
软件开发不再是所有参与者都坚持使用单一管道的场景,在这种场景中,单个提交可能导致构建失败,并导致开发、测试和部署过程停滞。这个过程将变成这样一个过程:每个参与者都有自己的开发流程来开发每个专用组件。
这一更改使操作更容易地扩展应用程序团队对其特定基础设施的需求,这是一个优雅的解决方案。应用程序的每个组件都依赖于一个可以水平伸缩的专用容器。通过避免失败的多米诺骨牌效应,可靠性显著提高。新方法还简化了自动化,消除了开发人员和操作人员在推出新应用程序时的许多手工步骤,这总体上提高了代码质量。
应对其他挑战
虽然向容器、Kubernetes和微服务体系结构的转变在可伸缩性、可靠性以及开发和部署的速度方面带来了数量级的改进,但联合圣保罗银行也面临着巨大的管理挑战。
- 分级:第一个挑战是准确分级运行微服务体系结构所需的底层基础设施,因为它基于一个新的范例。该银行过去用于传统单体应用程序的规则需要改进和更改。微服务应用程序的行为与单体不同,而且它们消耗的资源也不相同,必须掌握新的学习曲线。
- 流程:使微服务与现有的数据中心生态系统协同工作,是该行构建和实现应用程序以及为基础基础设施提供资源的方式的根本性变化。研究小组发现,在这个过程中使用容器平台与Diamanti技术是非常有用,但从应用程序的观点看,对于新建应用程序将变得简单,但是作为微服务银行打算重写数以千计的应用程序,将需要大量的工作。
- 文化挑战:DevOps的概念以及开发人员和操作人员之间的思想差异需要一种新的方式来思考如何创建和部署应用程序。
最后一点是最容易忽略的,但对任何企业来说,在实践中都很难做到。联合圣保罗银行(Banca Intesa Sanpaolo)已经在路上了,但这是一段需要时间和耐心才能成功驾驭的旅程。
作者:Matt Asay是一位资深的技术专栏作家,曾为CNET、ReadWrite和其他技术媒体撰写文章。Asay还在领先的移动和大数据软件公司担任过多种管理职位。
原文链接: How hot is Kubernetes? Even traditional banks are transforming to embrace it
译者:Mr.lzc,软件工程师、DevOpsDays深圳核心组织者&志愿者,目前供职于华为,从事云存储工作,以Cloud Native方式构建云文件系统服务,专注于K8s、微服务、Serverless领域。