公司 ING 地點 荷蘭阿姆斯特丹 行業 金融

挑戰

在經歷敏捷轉型後,ING 意識到它需要一個標準化平臺來支援開發人員的工作。“我們的 DevOps 團隊被授權自主行事,”基礎設施架構師 Thijs Ebbers 說,“這有好處;你會得到各種各樣的想法。但很多團隊會發明相同的輪子。團隊開始嘗試 Docker、Docker Swarm、KubernetesMesos。嗯,對於一家公司來說,擁有上百個輪子而不是一個好輪子並沒有太大用處。”

解決方案

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。嗯,對於一家公司來說,擁有上百個輪子而不是一個好輪子並沒有太大用處。”

為了在公司嚴格的安全準則下實現部署過程的標準化,團隊考察了幾種解決方案,發現去年“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 構建的較小的綠地專案將投入生產。到 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 說,“這需要所有這些專案都成熟。我們距離實現這一目標還有幾年時間,但這對於我們來說是完全可行的。”