公司 Capital One 地點 弗吉尼亞州麥克萊恩 行業 零售銀行

挑戰

該團隊著手為部署在 AWS 上使用流媒體、大資料決策和機器學習的 Capital One 應用程式構建一個配置平臺。其中一個應用程式每天處理數百萬筆交易;有些處理欺詐檢測和信用決策等關鍵功能。關鍵考慮因素:彈性、速度,以及從基礎 AMI 完全重新初始化叢集。

解決方案

高階軟體工程總監 John Swift 表示,執行 Kubernetes 的決定“對我們來說具有非常重要的戰略意義”。“我們將 Kubernetes 視為一個底層系統或作業系統。這在我們的產品開發中具有一定程度的親和性。”

影響

“Kubernetes 是一個重要的生產力倍增器,”首席軟體工程師 Keith Gasser 說,並補充說,如果“沒有 Kubernetes 來執行該平臺,我們的純 AWS 費用將很容易增加三到四倍。”上市時間也得到了改善:“現在,一個團隊可以找到我們,我們可以在兩週內讓他們使用一個基本的決策應用程式並執行起來,而以前這將需要一整個季度,甚至更長時間。”部署增加了幾個數量級。此外,以前需要手動進行大部分時間的叢集重新初始化/重新構建過程,現在透過 Kubernetes 自動化和宣告性配置只需幾個小時。

作為美國十大零售銀行之一,Capital One 的應用程式每天處理數百萬筆交易。大資料決策——用於欺詐檢測、信用審批等——是業務的核心。為了支援為銀行構建這些功能的應用程式團隊,高階軟體工程總監 John Swift 領導的雲團隊在他們的配置平臺中採用了 Kubernetes。Swift 說:“Kubernetes 及其整個生態系統對我們來說具有非常重要的戰略意義。”“我們將 Kubernetes 視為一個底層系統或作業系統。這在我們的產品開發中具有一定程度的親和性。”

大約兩年前,該團隊透過首先使用 Docker 踏上了這段旅程。然後是 Kubernetes。首席軟體工程師 Keith Gasser 說:“我們希望將流服務作為快速決策工作負載的一個功能放入 Kubernetes 中,並且能夠同時進行批次處理。” “一旦資料流化和批次處理,Flink 中有許多我們用於決策的工具集。我們希望以一致的方式在同一生態系統中提供這些工具,而不是擁有一個龐大的自定義雪花生態系統,其中每個工具都需要自己的自定義部署。Kubernetes 使我們能夠將所有這些工具整合在一起,因此開源的豐富性,甚至處理大資料的許可社群都可以被整合起來。”

在第一年,影響已經非常巨大。“上市時間對我們來說非常重要,”Gasser 說。“尤其是在欺詐方面,你必須非常靈活地應對市場威脅——能夠新增和推出新規則,檢測新的行為模式,檢測賬戶和交易流中的異常。”有了 Kubernetes,“一個團隊可以來找我們,我們可以在兩週內讓他們使用一個基本的決策應用程式並執行起來,而以前這將需要一整個季度,甚至更長時間。Kubernetes 是一個多方面的生產力倍增器。”

團隊現在擁有了自主部署的工具,因此部署量增加了兩個數量級。“而且這隻用了七個專職資源,而不需要整個團隊在那裡監視一切,”Scrum Master Jamil Jadallah 說。“這是一個巨大的成本節約。憑藉可擴充套件性、管理和協調能力,Kubernetes 真正賦予了我們權力,併為我們爭取了比以往更多的時間。”

對於 Capital One 強制進行的叢集“重新初始化”週期,即從基礎 AMI 重新構建叢集,Kubernetes 也節省了大量時間。為了最大限度地減少雲中應用程式的攻擊漏洞,Gasser 說:“我們的整個叢集會定期從頭開始重建,使用全新的例項和虛擬機器映象,這些映象都打上了最新最好的安全補丁。”這個過程以前需要花費一天的大部分時間,並且需要人員手動完成。現在,它只是一個快速的 Kubernetes 作業。

節省的費用涵蓋了資本支出和運營支出。“進入 Kubernetes 所需的成本非常少,因為它都是開源的,”Gasser 指出。“我們採取了 DIY 的方式來構建我們的叢集,我們絕對喜歡能夠立即採用社群的最新成果而無需等待下游公司這樣做的靈活性。我們無需支付與這些許可相關的資本支出。此外,我們從一些我們特定領域中即將退役的專有軟體中節省了資本支出。因此,這也會積極地反映在我們的賬本上。”(其中一些開源技術包括 Prometheus、Fluentd、gRPC、Istio、CNI 和 Envoy。)

Gasser 說,在運營支出方面,節省的費用很高。“我們執行著幾十個服務,有數十個 Pod,許多守護程式集,而且由於我們是資料驅動的,所以我們所有的有狀態服務都利用了 EBS 支援的卷宣告。如果我們要沒有 Kubernetes 而在底層雲服務上完成所有這些,我很容易就能看到我們的成本增加三到四倍,這僅僅是純 AWS 費用。這還不包括部署和維護所有額外基礎設施的人員成本。”

團隊相信,這些優勢將持續倍增——同時,接觸這項新技術的工程師的學習曲線不會太陡峭。“隨著我們在這個生態系統中引入更多的租戶,我認為人們對 Kubernetes 的理解需求不一定會增加。事實上,我認為它會下降,這很好,”Gasser 說。“因為這真正展示了這項技術的可擴充套件性。你開始收穫好處,他們可以專注於為業務中的重要決策(欺詐決策、信用決策)構建所需的所有功能,而無需擔心‘我的 AWS 伺服器壞了嗎?我的 Pod 沒執行嗎?’”