公司 網易 地點 中國杭州 產業 網路科技

挑戰

其遊戲業務是世界上最大的業務之一,但這並非 網易 向中國消費者提供的所有服務。 該公司還經營電子商務、廣告、音樂串流、線上教育和電子郵件平台;其中電子郵件平台透過 163.com 等網站為近十億用戶提供免費電子郵件服務。 2015 年,為所有這些系統提供基礎架構的網易雲團隊意識到,他們的研發流程正在拖慢開發人員的速度。 網易雲與容器服務架構師馮長健表示:「我們的使用者需要自行準備所有基礎架構。我們渴望透過無伺服器容器服務自動為使用者提供基礎架構和工具。」

解決方案

在考慮建立自己的協作解決方案後,網易決定將其私有雲平台建立在 Kubernetes 之上。 這項技術源自 Google 的事實,讓團隊有信心能夠跟上網易的規模。 馮表示:「經過 2 到 3 個月的評估,我們相信它可以滿足我們的需求。」 該團隊從 2015 年開始使用 Kubernetes,當時甚至還沒有 1.0 版本。 如今,網易內部雲平台(也利用了 CNCF 專案 PrometheusEnvoyHarborgRPCHelm)在生產叢集中運行 10,000 個節點,並且可以在一個叢集中支援多達 30,000 個節點。 根據從內部平台獲得的經驗,該公司向外部客戶推出了基於 Kubernetes 的雲端和以微服務為導向的 PaaS 產品 網易輕舟微服務

影響

網易團隊報告稱,Kubernetes 將研發效率提高了 100% 以上。 部署效率提高了 280%。 馮表示:「過去,如果我們要進行升級,我們需要與其他團隊甚至其他部門合作。我們需要特殊人員來準備一切,因此大約需要半小時。現在我們只需 5 分鐘即可完成。」 新平台還允許使用 GPU 和 CPU 資源進行混合部署。 「以前,如果我們將所有資源都投入到 GPU,我們將沒有剩餘資源用於 CPU。但現在由於混合部署,我們有了改進。」 他說。 這些改進也提高了資源利用率。

其遊戲業務是全球第五大業務,但這並非 網易 向消費者提供的所有服務。

該公司還在中國經營電子商務、廣告、音樂串流、線上教育和電子郵件平台;其中電子郵件平台透過 163.com126.com 等熱門網站為近十億用戶提供免費電子郵件服務。 憑藉如此規模,為所有這些系統提供基礎架構的網易雲團隊在 2015 年意識到,他們的研發流程使得開發人員難以跟上需求。 網易雲與容器服務架構師馮長健表示:「我們的使用者需要自行準備所有基礎架構。我們渴望透過無伺服器容器服務自動為使用者提供基礎架構和工具。」

在考慮建立自己的協作解決方案後,網易決定將其私有雲平台建立在 Kubernetes 之上。 這項技術源自 Google 的事實,讓團隊有信心能夠跟上網易的規模。 馮表示:「經過 2 到 3 個月的評估,我們相信它可以滿足我們的需求。」

該團隊從 2015 年開始採用 Kubernetes,當時甚至還沒有 1.0 版本,因為它相對容易使用,並且可以在公司內部實現 DevOps。 馮表示:「我們放棄了 Kubernetes 的一些概念;我們只想使用標準化框架。我們利用 Kubernetes 的可程式化能力,以便我們可以建立一個平台來滿足內部客戶對升級和部署的需求。」

該團隊首先專注於建立容器平台以更好地管理資源,然後將注意力轉向透過新增監控等內部系統來改進其對微服務的支援。 這意味著整合 CNCF 專案 PrometheusEnvoyHarborgRPCHelm。 馮表示:「我們正在努力提供簡化且標準化的流程,以便我們的使用者和客戶可以利用我們的最佳實務。」

該團隊正在持續改進。 例如,業務的電子商務部分需要利用混合部署,這在過去需要使用兩個獨立的平台:基礎架構即服務平台和 Kubernetes 平台。 最近,網易創建了一個跨平台應用程式,可以使用單命令部署來同時使用這兩個平台。

網易架構師曾煜興表示,如今,網易內部雲平台「可以在單個叢集中支援 30,000 個節點」。 「在生產環境中,我們在單個叢集中獲得了 10,000 個節點的數據。整個內部系統都在使用該系統進行開發、測試和生產。」

網易團隊報告稱,Kubernetes 將研發效率提高了 100% 以上。 部署效率提高了 280%。 馮表示:「過去,如果我們要進行升級,我們需要與其他團隊甚至其他部門合作。我們需要特殊人員來準備一切,因此大約需要半小時。現在我們只需 5 分鐘即可完成。」 新平台還允許使用 GPU 和 CPU 資源進行混合部署。 「以前,如果我們將所有資源都投入到 GPU,我們將沒有剩餘資源用於 CPU。但現在由於混合部署,我們有了改進。」 這些改進也提高了資源利用率。

根據使用其內部平台獲得的結果和經驗,該公司向外部客戶推出了基於 Kubernetes 的雲端和以微服務為導向的 PaaS 產品 網易輕舟微服務。 曾表示:「我們的想法是,我們可以找到我們的遊戲、電子商務和雲音樂供應商遇到的問題,以便我們可以整合他們的經驗並提供一個平台來滿足使用者的需求。」

無論是否使用網易產品,該團隊都鼓勵其他公司嘗試 Kubernetes。 Kubernetes 開發人員李嵐清表示:「只要一家公司擁有成熟的團隊和足夠的開發人員,我認為 Kubernetes 是一項非常好的技術,可以幫助他們。」

作為終端使用者和供應商,網易已更多地參與社群,向其他公司學習並分享他們所做的事情。 該團隊一直在為 Harbor 和 Envoy 專案做出貢獻,在這些技術在網易規模下進行測試時提供回饋。 馮表示:「我們是一個專注於應對微服務架構挑戰的團隊。透過參與這個社群,我們可以從中獲得一些經驗,我們也可以從中受益。 我們可以看到社群面臨的疑慮和挑戰,因此我們可以參與其中。」