中国民生银行借助 Kubernetes,实现了旧有应用程序转型,将其转向人工智能、区块链和大数据
挑战
中国民生银行的主要应用程序是以 C 语言和 Java 语言编写的,采用传统架构。“我们面临的最大挑战是怎么让传统的旧有应用程序能够适应云原生环境,”民生容器云技术负责人 Zhang Li说,“我们想要做分布式应用程序,是因为我们以前用过 VM,很贵。”
解决方案
民生引入阿里云,协助云原生转型。现在公司正在分解旧有的应用程序,把它们转移到 Kubernetes 平台上去,同时还要在平台上开发新的微服务。
影响
借助 Kubernetes 平台,交付效率提高了3-4倍,资源利用率翻了一番。“现在,我们正在开发 AI 应用程序,一个区块链应用程序,还有部分云原生平台上的大数据分析应用,” Zhang 先生介绍说。
一些数据
资源利用率
翻了一倍有余
开发、运营和维护效率提
高了3倍
部署时间
从若干小时减少到若干分钟
中国民生银行始建于1996年,是中国第一家非政府所有的国家商业银行。
Zhang Li 说民生的文化就是要敢为人先。“我们银行总是走在金融行业的技术前沿,”民生容器云技术负责人 Zhang 先生说。在两年前,这句话的意思就是“我们必须要在云原生技术上领先于他人。”
但民生所有的旧有应用程序都是用 C 和 Java 语言编写的,采用的也都是传统架构,比如核心银行系统、支付系统、渠道系统等。“我们想要做分布式应用程序,是因为我们以前的数据中心用过 VM,很贵,资源利用率也很低,” Zhang 先生说,“我们面临的最大挑战是怎么让传统的旧有应用程序能够适应云原生环境。”
Zhang 先生坚信 Kubernetes 是建立云原生环境的关键,因此选择和阿里云合作。“阿里云是 Kubernetes 和其他 CNCF 项目在中国的主要贡献者,所以我们非常信任他们,”Zhang先生说。从2019年开始,“他们帮我们启动了这次转型,我们也给他们反馈意见,这样他们就能根据反馈优化其他行业的产品和服务。”
迄今为止,约有20个应用程序在 Kubernetes 平台上实现生产。30个新的应用程序在积极开发,准备采用 Kubernetes 平台。“阿里云容器服务帮助民生实现创新业务的快速增长,”阿里云容器服务Kubernetes高级架构师 Eric Li说。现在,所有用于 AI、区块链和大数据分析的应用程序都要建在平台上。
因此,开发、运营和维护效率提高了3倍,CPU 的资源利用率和存储翻了一番有余。部署时间从若干小时缩短到若干分钟。
“我们花两年时间做了大量实践,从失败和成功当中吸取经验教训,最终成为云原生。这需要我们解放思想、打开视野,去了解当今世界的状况。我们需要随时跟踪技术发展,取得其他团队的信任。”
— 民生银行容器云技术负责人 ZHANG LI
此外,故障时间也减少了50%。“我们的一个支付应用有将近30个模块,”Zhang 先生说,“以前,在一个模块上做一个很小的改动,就需要上传整套应用程序。现在,我们把这些模块分别放在 Kubernetes 的30个微服务中,这样就可以按照自己的意愿,随时更新任何一个模块。”
Zhang 先生带领的团队面临着一个巨大的挑战,就是要把旧有的 C 语言应用程序改成云原生应用程序。这是“一个名副其实的旧有应用,使用 C 语言和进程间通信(IPC)架构,”他说,“这个应用程序很难改成微服务。我们必须要改变整个架构,把 IPC 改成远程过程调用。”
“所有的技术和业务部门都觉得这次转移到云原生环境是一次重大变革。”
— 民生银行容器云技术负责人 ZHANG LI
Zhang 先生带领的8人平台团队展示实际应用案例和真实使用结果,说服行里的100名工程师,“你可以选择一个真实的典型案例,让他们去开发或者转型一个云原生应用,”他说,“行里的开发人员都很愿意把自己的应用转成云原生应用。但我们面临的挑战就是没有足够的人手去做这个工作,因为大家都要花大把时间去维护旧有应用。后来,他们就在工作之余做这个事情。”
尽管存在这样的局限,张先生说:“所有的技术和业务部门都觉得这次转移到云原生环境是一次重大变革。”
但转型并没有就此结束。他们已经开始使用 Envoy,也正在考虑 Istio 做服务网格。他们计划增加联邦,使用更多的云。“我们花两年时间做了大量实践,从失败和成功当中吸取经验教训,最终成为云原生。”Zhang 先生说,“这需要我们解放思想、打开视野,去了解当今世界的状况。我们需要随时跟踪技术发展,取得其他团队的信任。”