挑戰
培生是一家服務全球7500萬學習者的全球性教育公司,其目標是到2025年將這一數字翻一番,達到2億。數字學習體驗是這一增長的關鍵組成部分,而培生在擴充套件和適應不斷增長的線上受眾方面面臨困難。他們需要一個能夠快速擴充套件並更快地將產品推向市場的IaaS平臺。
解決方案
培生雲平臺和SRE總監 Chris Jackson 表示:“為了改造我們的基礎設施,我們必須超越簡單地實現自動化配置的思維。”“我們意識到必須構建一個平臺,讓培生開發人員能夠以完全不同的方式構建、管理和部署應用程式。”團隊選擇了 Docker 容器技術和 Kubernetes 編排“因為它具有靈活性、易於管理,並且能夠提高我們工程師的工作效率。”
影響
藉助該平臺,生產力和交付速度得到了顯著提升。雲平臺團隊首席站點可靠性工程師 John Shirley 表示:“在某些情況下,我們從在資料中心配置物理資產需要九個月,縮短到只需幾分鐘即可配置並將新想法呈現在客戶面前。”Jackson 估計他們節省了 15-20% 的開發人員生產力。此前,在他們最繁忙的返校季,中斷是一個問題。現在,他們有高度的信心能夠滿足嚴格的客戶SLA。
2015 年,培生作為全球最大的教育公司,已經為 7500 萬學習者提供從學前班到大學及更高階段的課程和評估工具。該公司認識到,創新數字教育體驗是未來所有教育形式的關鍵,因此,目標是在 2025 年之前將受眾擴大到 2 億人。
這一目標需要對其現有的資料中心基礎設施進行改造。在某些情況下,配置物理資產需要九個月的時間。為了適應不斷增長的線上受眾的需求,培生需要一個能夠快速擴充套件並將關鍵業務產品更快推向市場的IaaS平臺。培生雲平臺和 SRE 總監 Chris Jackson 表示:“我們必須超越簡單地實現自動化配置的思維。”“我們意識到必須構建一個平臺,讓培生開發人員能夠以完全不同的方式構建、管理和部署應用程式。”
培生擁有 400 個開發團隊和各種具有不同業務和技術需求的品牌,因此採用了 Docker 容器技術,這樣每個品牌都可以嘗試使用他們偏好的技術構建新型內容,然後使用容器交付。Jackson 表示,他選擇 Kubernetes 編排“因為它具有靈活性、易於管理,並且能夠提高我們工程師的工作效率”。
該團隊在 Kubernetes 仍是 1.2 版本時就採用了它,現在仍在 1.7 版本上持續發力;他們使用 Terraform 和 Ansible 將其部署到基本的 AWS 原生服務上。“我們試圖瞭解如何透過這項技術為培生創造價值,”雲平臺首席架構師 Ben Somogyi 說。“事實證明,Kubernetes 的優勢巨大。我們正在努力幫助使用我們平臺的應用程式開發團隊加快速度,因此我們透過一個 CI/CD 管道填補了這一空白,該管道為他們構建映象,對其進行標準化,修補所有內容,允許他們將不同的環境部署到叢集中,並隱藏了底層工作的複雜細節。”
這項工作促成了兩個用於在叢集中構建和部署應用程式的工具,培生已將其開源。“我們是一家教育公司,所以我們希望分享我們能分享的一切,”Somogyi 說。
現在,開發團隊不再需要擔心基礎設施,生產力和交付速度得到了顯著提升。雲平臺團隊首席站點可靠性工程師 John Shirley 表示:“在某些情況下,我們從在資料中心配置物理資產需要九個月,縮短到只需幾分鐘即可配置並將新想法呈現在客戶面前。”
Jackson 表示,雲平臺團隊“可以在幾分鐘內為開發團隊配置一個新的概念驗證環境,然後他們可以儘快將其投入生產。這是所有主要技術服務的價值主張,我們必須像它們一樣競爭,才能成為開發人員的首選。僅僅因為你在同一家公司工作,你無權強迫人們使用平庸的服務。你的內部客戶需要感覺他們正在為自己選擇最好的選擇。我們正在親身經歷這種採用的增長。我們看到該服務每年都有三位數的增長。”
Jackson 估計,採用該平臺的開發團隊的生產力提高了 15-20%。他們還看到對客戶造成影響的事件數量有所減少。此外,Jackson 說:“以前每個學年只能釋出 1-2 次程式碼的團隊,現在每天可以釋出多次程式碼!”
可用性也受到了積極影響。返校季是公司一年中最繁忙的時候,“你必須保持應用程式正常執行,”Somogyi 說。在此之前,這是傳統基礎設施的一個痛點。現在,對於已遷移到 Kubernetes 平臺的應用程式,“我們有 100% 的正常執行時間。我們不擔心 99.999% 的可用性。根本沒有。它是 100%,這對於我們來說是相當驚人的,與一些存在傳統挑戰的現有平臺相比,”Shirley 說。
“你甚至無法估量這為公司節省了多少,”Jackson 解釋道。“支援案例數量的減少減輕了我們運營的負擔。客戶對可靠產品的信任度推動了客戶留存和增長。它讓我們能夠將更多精力投入到數字化轉型中,並將更高質量的教育帶到全球範圍。”
Somogyi 說,平臺本身也在進行分解,“因此我們可以快速釋出平臺的更小部分,例如升級我們的 Kubernetes 或構成我們平臺的所有不同模組。”“2018 年的一大重點是這個交付方案,用於更新平臺本身。”
在培生達到 2 億使用者的總體目標的指導下,團隊對平臺的可擴充套件性進行了內部測試。“我們面臨一個挑戰:在 10 分鐘內處理 2800 萬個請求,”Shirley 說。“我們證明我們可以達到這個目標,並且延遲在可接受的範圍內。我們看到我們實際上可以相當容易地實現這個目標,而且我們完全使用開源工具在幾秒鐘內完成了擴充套件。向 Locust 致敬。這真是太棒了。”
Jackson 表示,僅僅兩年時間,“我們已經從 Kubernetes 中看到了巨大的好處——提高了工程生產力、加快了應用程式交付速度並簡化了基礎設施。”“但這僅僅是個開始。Kubernetes 將有助於改變線上教育內容的交付方式。”
到目前為止,大約有 15 款生產產品正在新平臺上執行,其中包括培生新的旗艦數字教育服務——全球學習平臺。雲平臺團隊將繼續為適合該平臺的客戶提供準備、入門和支援。一些現有產品將重構為 12 因素應用程式,而其他產品正在開發中,以便它們可以從一開始就存在於平臺上。“當然,引入新客戶會面臨挑戰,因為我們必須幫助他們看到不同的開發方式、不同的構建方式,”Shirley 說。
但他補充道:“這是我們的公司座右銘:永不停止學習。我們鼓勵那些尚未開啟雲原生之旅的團隊,去展望技術的未來,去學習,去探索。這會激發你的興趣。持續學習。”