公司 Northwestern Mutual 地點 威斯康星州密爾沃基 行業 保險和金融服務

挑戰

Northwestern Mutual 客戶體驗工程總監 Brad Williams 表示,2015 年春,Northwestern Mutual 收購了金融科技初創公司 LearnVest,並決定“將 Northwestern Mutual 的領先產品和服務與 LearnVest 的數字體驗和創新金融規劃平臺相結合”。公司現有的基礎設施已針對在本地網路上託管的批處理工作流進行了最佳化;部署非常傳統,側重於遵循流程而非提供部署敏捷性。Williams 說:“我們必須構建一個具有彈性可擴充套件性,同時響應速度更快的平臺,這樣我們就能快速將資料傳輸到客戶網站,讓我們的終端客戶獲得他們期望的體驗。”

解決方案

平臺團隊提出了使用公共雲 (AWS)、Docker 容器和 Kubernetes 進行編排的計劃。Northwestern Mutual 雲原生工程師 Frank Greco Jr. 說:“Kubernetes 為我們提供了基礎框架,因此團隊在構建和快速頻繁交付方面可以非常自主。”團隊還構建並開源了 Kanali,這是一款使用 OpenTracing、Jaeger 和 gRPC 的 Kubernetes 原生 API 管理工具。

影響

以前,基礎設施部署可能需要數週;現在,只需幾分鐘即可完成。部署次數大幅增加,從每年約 24 次增加到 2017 年前 10 個月的 500 多次。可用性也提高了:以前每週日早上有 6 小時的提交控制視窗,以及其他一般維護期,在此期間可能會發生中斷。Northwestern Mutual 應用程式平臺團隊經理 Bryan Pfremmer 說:“現在我們已經消除了計劃中的中斷視窗。”Kanali 對利潤產生了影響。Pfremmer 說,公司以前使用的供應商 API 管理產品需要 23 臺伺服器,“專用於 API 管理”。“現在,它已全部整合到現有堆疊中,並作為 Kubernetes 上的另一個部署執行。這只是一個環境。我們擁有的三個環境加上測試環境,這都是實實在在的節省。”

160 多年來,Northwestern Mutual 一直保持其行業領先地位,部分原因在於其對風險管理的強烈關注。

多年來,該公司在技術管理方面採取了類似的方法,最近進行了數字化轉型,以推進公司的數字化戰略——包括在雲原生領域引起了很大轟動。

Northwestern Mutual 客戶體驗工程總監 Brad Williams 表示,2015 年春,這家保險和金融服務公司收購了金融科技初創公司 LearnVest,並決定“將 Northwestern Mutual 的領先產品和服務與 LearnVest 的數字體驗和創新金融規劃平臺相結合”。公司現有的基礎設施已針對在本地資料中心託管的批處理工作流進行了最佳化;部署非常傳統,並且有許多容易出錯的手動步驟。

Williams 說,為了給公司的 450 萬客戶提供他們所期望的數字體驗,“我們必須構建一個具有彈性可擴充套件性,同時響應速度更快的平臺,這樣我們就能快速將資料傳輸到客戶網站。我們基本上是說,‘你構建你認為支援新的、面向現代的系統所必需的系統。’這就是我們脫離所有傳統系統的原因。”

Williams 和平臺團隊的其他成員決定,第一步是開始從私有資料中心遷移到 AWS。考慮到新的微服務架構——以及實施最適合組織的自由——他們開始使用 Docker 容器。在研究了各種容器編排選項後,他們選擇了 Kubernetes,儘管當時它仍處於測試階段。Northwestern Mutual 雲原生工程師 Frank Greco Jr. 說:“我們曾就是否應該自己構建一些東西,還是隻是利用該產品並隨之發展進行了一些討論。Kubernetes 絕對是我們正確的選擇。它為我們提供了基礎框架,因此團隊在構建和快速頻繁交付方面可以自主。”

作為早期採用者,團隊必須使用大量的 Ansible 指令碼來搭建叢集。Northwestern Mutual 應用程式平臺團隊經理 Bryan Pfremmer 解釋說:“鑑於我們業務的性質,我們有許多嚴格的安全要求。我們發現我們執行的配置很少有人嘗試過。”客戶體驗團隊是第一個使用新平臺的團隊;如今,該公司 1500 名工程師中有數百人正在使用它,更多人渴望加入。

結果非常顯著。以前,基礎設施部署可能需要兩週;現在,只需幾分鐘即可完成。現在,Pfremmer 說,透過專注於基礎設施自動化和自助服務,“如果你願意,你可以在當天將應用程式投入生產。”

以前,這個過程非常繁瑣,以至於小型的 bug 釋出都會與功能釋出捆綁在一起。藉助 Kubernetes 實現的新簡化系統,部署次數已從每年約 24 次增加到 2017 年前 10 個月的 500 多次。可用性也得到了改善:以前每週日早上有 6 小時的提交控制視窗,以及其他一般維護期,在此期間可能會發生中斷。Pfremmer 指出:“現在沒有計劃中的中斷視窗。”

Northwestern Mutual 構建了名為 Kanali 的 API 管理工具,並於 2017 年夏季將其開源。Greco 說,團隊承擔這個專案是因為它是他們正在構建的關鍵能力,而且之前的解決方案以一種“反雲原生方式工作,與我們所做的其他一切都不同”。現在,API 管理只是部署到 Kubernetes 的另一個容器,以及一個單獨的 Jaeger 部署。

現在,使用 Kubernetes 部署平臺的工程師擁有生產環境中的可見性和自主權。以前,集中式團隊必須執行跟蹤。Greco 說:“現在,開發人員擁有自主權,他們可以隨時隨地使用它。隨著我們在其中成熟,下游的儀表化越多,它的價值就越大。”

但團隊並沒有就此止步。Greco 說:“在大型企業中,你會有使用 Kubernetes 的人,但你也會有使用 WAS 和 .NET 的人。你可能還沒有達到整個堆疊都能實現雲原生的地步。如果你能將你的 API 管理工具變為雲原生,但仍然代理到傳統系統,會怎麼樣?利用雲原生、開源和 Kubernetes 原生的不同元件,你可以做一些非常創新的事情。”

隨著團隊不斷改進其堆疊並分享其 Kubernetes 最佳實踐,他們覺得 Northwestern Mutual 作為一家技術優先公司的聲譽也在不斷發展。Pfremmer 說:“沒有人會認為一家擁有 160 多年曆史的公司會如此深入地涉足雲和基礎設施堆疊。”他們希望這意味著他們將能夠吸引新人才。“我們正在努力讓我們的工作為人所知,這樣我們就能找到那些說‘是的,這很有趣。我想來做!’的人。”