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

挑战

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

解决方案

ING 团队使用 Kubernetes 进行容器编排,使用 Docker 进行容器化,开始为其 CI/CD 管道和 Greenfield 应用程序构建内部公有云。该管道是基于 Mesos Marathon 建立的,将迁移到 Kubernetes 上。英国 (以及即将推出的法国和意大利) 市场上的银行账户管理应用程序 Yolt 已经在 Kubernetes 框架上运行。至少有两个目前在 Kubernetes 框架上的 Greenfield 项目将在今年晚些时候投入生产。到 2018 年底,该公司计划将银行客户体验中使用的多个 API 转换为云原生 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 管道中的一个主要痛点。在容器化之前,“每个开发团队都必须订购一台虚拟机,这对他们来说是一个相当重的交付模式,”基础设施架构师 Onno Van der Voort 说。“容器化的另一个用例是,当应用程序在管道中移动时,它们会启动 Docker 容器来对应用程序进行测试工作,在完成工作后,容器会被再次销毁。”

由于行业法规,应用程序只能通过管道(在那里会执行合规性检查)才能进行部署,而不是直接部署到容器中。“我们必须运行我们需要的所有服务平台,许多服务来自不同的位置,”Van der Voort 说。“我们需要这个 Kubernetes 框架来部署容器,以及所有这些组件、监控、日志记录。这很复杂。”出于这个原因,ING 选择从 OpenShift Origin Kubernetes 发行版开始。

实际上,“云原生技术正在帮助我们提高速度,从将应用程序交付到测试、验收再到生产,”Van der Voort 说。“如果你现在在 ING 走走,你会看到所有这些 DevOps 团队,正在进行站立会议,演示。他们试图尽快发布新功能。我们为现有组件之一举办了一次黑客马拉松,并在 2.5 天内将其基本上转换为云原生,当然,在代码完全投入生产之前,需要花费更多时间。”

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

然而,该团队认为银行的后端系统不会进入 Kubernetes 平台。“我们的理念是,只有将事物转换为云原生时,迁移到云才有意义,”Van der Voort 说。“如果你拥有传统架构,构建传统模式,那么迁移到云就没有意义。”云平台架构师 Alfonso Fernandez-Barandiaran 补充道:“ING 有一项关于我们未来发展方向的策略,以提高我们的敏捷性。所以,这不是关于这项技术有多酷,而是关于找到合适的技术和方法。”

Kubernetes 框架将托管一些对 ING 来说非常重要的 Greenfield 项目:该公司为应对 PSD2 开发的应用程序,该应用程序是欧洲委员会发布的一项指令,要求提供更多创新的在线和移动支付服务,该指令于 2018 年初生效。例如,名为 Yolt 的银行账户管理应用程序,服务于英国市场 (以及即将推出的法国和意大利),是在 Kubernetes 平台上构建的,并且已经投入生产。ING 还正在开发基于区块链的应用程序,这些应用程序将运行在 Kubernetes 平台上。“我们已经接触到许多开发团队,他们对容器的使用有想法,”Ebbers 说。

即使在银行的特殊要求下,ING 也在技术和创新方面取得了领先地位。“每当我们遇到限制时,我们都会寻找可能更好的方法来使用这项技术,”Fernandez-Barandiaran 说。

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