公司 ING 地点 荷兰,阿姆斯特丹 行业 金融

挑战

在经历了一次敏捷转型后,ING 意识到它需要一个标准化的平台来支持其开发人员的工作。“我们的 DevOps 团队被赋予了自主权,”基础设施架构师 Thijs Ebbers 说。“它有好处;你会得到各种各样的想法。但是很多团队都会设计同一个轮子。团队开始尝试 Docker、Docker Swarm、KubernetesMesos。嗯,对于一家公司来说,拥有 100 个轮子而不是一个好轮子,真的没什么用。”

解决方案

ING 团队使用 Kubernetes 进行容器编排,使用 Docker 进行容器化,开始为其 CI/CD 管道和全新应用程序构建内部公有云。该管道基于 Mesos Marathon 构建,将迁移到 Kubernetes 上。英国(以及即将到来的法国和意大利)市场的银行账户管理应用程序 Yolt 已经部署在 Kubernetes 框架上。目前在 Kubernetes 框架上的至少两个全新项目将在今年晚些时候投入生产。到 2018 年底,该公司计划将银行客户体验中使用的一些 API 转换为云原生 API,并将它们托管在基于 Kubernetes 的平台上。

影响

“云原生技术正在帮助我们提高速度,从应用程序测试到验收再到生产,”基础设施架构师 Onno Van der Voort 说。“如果你现在在 ING 走走,你会看到所有这些 DevOps 团队,进行站立会议、演示。他们试图非常快地推出新功能。我们为我们的一个现有组件举办了一次黑客马拉松,并在 2.5 天内将其转换为云原生,当然,在代码完全生产就绪之前,还需要更多的时间。”

ING 长期以来一直拥抱银行业创新,于 1997 年推出了基于互联网的 ING Direct。

本着同样的精神,该公司几年前经历了一次敏捷转型。“我们的 DevOps 团队被赋予了自主权,”基础设施架构师 Thijs Ebbers 说。“它有好处;你会得到各种各样的想法。但是很多团队都会设计同一个轮子。团队开始尝试 Docker、Docker Swarm、Kubernetes、Mesos。嗯,对于一家公司来说,拥有 100 个轮子而不是一个好轮子,真的没什么用。”

为了在公司严格的安全准则内标准化部署流程,该团队研究了几种解决方案,并发现过去一年,“Kubernetes 赢得了容器管理框架之战,”Ebbers 说。“我们决定在 ING 上标准化 Kubernetes 框架。”他补充说,由于银行业法规,一切都在本地运行,但“我们将建立一个内部公有云。我们正在努力达到公有云所做的事情的水平。这是我们选择 Kubernetes 的原因之一。”

他们还采用了 Docker 来解决 ING 的 CI/CD 管道中的一个主要痛点。在容器化之前,“每个开发团队都必须订购一个 VM,这对他们来说是一个相当繁重的交付模型,”基础设施架构师 Onno Van der Voort 说。“容器化的另一个用例是当应用程序通过管道传输时,它们会启动 Docker 容器以对应用程序执行测试工作,并且在完成工作后,容器会被再次销毁。”

由于行业法规,应用程序只允许通过强制执行合规性的管道,而不是直接部署到容器中。“我们需要运行我们需要的完整服务平台,许多服务从不同的地方路由,”Van der Voort 说。“我们需要这个 Kubernetes 框架来部署容器,以及所有这些组件、监控、日志记录。它很复杂。”因此,ING 选择从 OpenShift Origin Kubernetes 发行版开始。

“云原生技术已经帮助我们提高了速度,从应用程序测试到验收再到生产,”Van der Voort 说。“如果你现在在 ING 走走,你会看到所有这些 DevOps 团队,进行站立会议、演示。他们试图非常快地推出新功能。我们为我们的一个现有组件举办了一次黑客马拉松,并在 2.5 天内将其转换为云原生,当然,在代码完全生产就绪之前,还需要更多的时间。”

该管道基于 Mesos Marathon 构建,将迁移到 Kubernetes 上。一些遗留应用程序也在重写为云原生,以便在框架上运行。今年,至少有两个基于 Kubernetes 构建的较小的全新项目将投入生产。到 2018 年底,该公司计划将银行客户体验中使用的一些 API 转换为云原生 API,并将它们托管在基于 Kubernetes 的平台上。

然而,该团队认为银行的后端系统不会进入 Kubernetes 平台。“我们的理念是,只有当事物是云原生时,将它们迁移到云才有意义,”Van der Voort 说。“如果你有传统的架构,构建传统的模式,那么迁移到云没有任何价值。”云平台架构师 Alfonso Fernandez-Barandiaran 补充道:“ING 有一个关于我们将走向何方的战略,以提高我们的敏捷性。因此,这与这项技术有多酷无关,而是与找到正确的技术和正确的方法有关。”

Kubernetes 框架将托管一些对 ING 来说优先级很高的全新项目:该公司正在开发应用程序以响应 PSD2,这是欧盟委员会指令,要求在 2018 年初生效的更具创新性的在线和移动支付。例如,一个名为 Yolt 的银行账户管理应用程序,服务于英国市场(以及即将到来的法国和意大利),构建在 Kubernetes 平台上并已投入生产。ING 还在开发将部署在 Kubernetes 平台上的区块链应用程序。“很多开发团队都联系过我们,他们有关于如何使用容器的想法,”Ebbers 说。

即使在银行业存在特殊要求的情况下,ING 仍设法在技术和创新方面处于领先地位。“每次我们遇到限制时,我们都会寻找可能更好的方式来使用这项技术,”Fernandez-Barandiaran 说。

毕竟,结果是值得努力的。“云原生对我们业务的最大承诺是在 48 小时内从想法变为产品,”Ebbers 说。“这需要所有这些项目都成熟。我们离这个目标还有几年,但这对于我们来说是完全可行的。”