挑戰
在經歷敏捷轉型之後,ING 意識到他們需要一個標準化的平台,以支援其開發人員正在進行的工作。「我們的 DevOps 團隊被授權可以自主,」基礎架構架構師 Thijs Ebbers 說。「這有好處;你會得到各種各樣的想法。但是很多團隊將會設計相同的輪子。團隊開始嘗試 Docker、Docker Swarm、Kubernetes、Mesos。嗯,對於一家公司來說,擁有一百個輪子而不是一個好輪子,這真的沒有用處。」
解決方案
使用 Kubernetes 進行容器編排和 Docker 進行容器化,ING 團隊開始為其 CI/CD 管道和全新應用程式建構內部公有雲。該管道已建構在 Mesos Marathon 上,將遷移到 Kubernetes。銀行帳戶管理應用程式 Yolt 在英國(以及即將在法國和義大利)市場已經在 Kubernetes 框架上線運作。目前在 Kubernetes 框架上的至少兩個全新專案將在今年稍後進入生產階段。到 2018 年底,該公司計畫將用於銀行客戶體驗的多個 API 轉換為雲原生 API,並將其託管在基於 Kubernetes 的平台上。
影響
「雲原生技術正在幫助我們提高速度,從將應用程式從測試到驗收到生產,」基礎架構架構師 Onno Van der Voort 說。「如果你現在在 ING 走走,你會看到所有這些 DevOps 團隊,正在進行立會、演示。他們 versucht schnell neue Funktionen auf den Markt zu bringen. 我們為我們現有的一個組件舉辦了一場黑客松,並基本上在 2.5 天內將其轉換為雲原生,當然,在程式碼完全準備好投入生產之前,後續工作需要更多時間。」
在同樣的精神下,公司幾年前進行了敏捷轉型。「我們的 DevOps 團隊被授權可以自主,」基礎架構架構師 Thijs Ebbers 說。「這有好處;你會得到各種各樣的想法。但是很多團隊將會設計相同的輪子。團隊開始嘗試 Docker、Docker Swarm、Kubernetes、Mesos。嗯,對於一家公司來說,擁有一百個輪子而不是一個好輪子,這真的沒有用處。」
「為了標準化部署流程,在公司嚴格的安全準則之內,團隊研究了幾種解決方案,並發現在過去一年中,「Kubernetes 贏得了容器管理框架之戰」,Ebbers 說。「我們決定在 ING 標準化 Kubernetes 框架。」他補充說,由於銀行法規,一切都在內部部署運行,但「我們將建構一個內部公有雲。我們正試圖趕上公有雲正在做的事情。這就是我們選擇 Kubernetes 的原因之一。」
「他們也採用了 Docker 來解決 ING 的 CI/CD 管道中的一個主要痛點。」基礎架構架構師 Onno Van der Voort 說:「在容器化之前,每個開發團隊都必須訂購 VM,這對他們來說是一個相當繁重的交付模型。容器化的另一個用例是當應用程式在管道中傳輸時,他們啟動 Docker 容器來對應用程式進行測試工作,並且在他們完成工作後,容器會再次被終止。」
「由於行業法規,應用程式僅允許通過管道,在管道中執行合規性,而不是直接部署到容器中。我們必須運行我們需要的完整服務平台,許多服務從不同的地方路由,」Van der Voort 說。「我們需要這個 Kubernetes 框架來部署容器,以及所有這些組件、監控、日誌記錄。這很複雜。」因此,ING 選擇從 OpenShift Origin Kubernetes 發行版開始。
「雲原生技術正在幫助我們提高速度,從將應用程式從測試到驗收到生產,」Van der Voort 說。「如果你現在在 ING 走走,你會看到所有這些 DevOps 團隊,正在進行立會、演示。他們 versucht schnell neue Funktionen auf den Markt zu bringen. 我們為我們現有的一個組件舉辦了一場黑客松,並基本上在 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 說。「這將要求所有這些專案都成熟。我們離這個目標還有幾年,但對我們來說這是非常可行的。」」