天天看點

從Kubernetes到“雲原生全家桶”,網易如何讓業務部署提效280%?

近日,網易雲輕舟微服務團隊接受了CNCF的采訪,分享了網易雲在雲原生領域尤其是Kubernetes方面的實踐經驗。以下為案例全文:

從Kubernetes到“雲原生全家桶”,網易如何讓業務部署提效280%?

公司:網易

地點:中國杭州

行業:網際網路技術

挑戰

它的遊戲業務是世界上最大的遊戲業務之一,但這并不是網易為中國消費者提供的唯一服務。該公司還經營電子商務、廣告、音樂流媒體、線上教育和電子郵件平台。2015年,為這些業務提供基礎設施的網易雲團隊,意識到當時的研發流程已經不能滿足業務的發展需求。“我們的使用者需要自己準備所有基礎設施。”網易雲架構師、輕舟微服務技術負責人馮常健說,“我們希望通過基于Serverless的容器服務,為他們提供一套自動化的基礎設施和工具。”

解決方案

“該系統可以在一個叢集中支援30,000個節點。在生産環境中,曾達到過單個叢集10,000個節點的資料。内部大部分網際網路業務正在使用該系統進行開發、測試和生産。”

- 曾宇星,網易雲架構師

在考慮建立自己的業務流程解決方案後,網易雲決定将其私有雲平台建立在Kubernetes上,誕生于Google的事實讓網易雲團隊相信它可以跟上網易的規模。“經過2到3個月的評估,我們相信它可以滿足我們的需求。”馮常健說。該團隊在2015年Kubernetes 1.0版本釋出之前就開始使用Kubernetes,目前可以在單叢集中支援30,000個節點,在生産環境叢集中曾達到過單叢集運作10,000個節點。而且,網易雲還使用了CNCF基金會下的Prometheus、Envoy、Harbor、gRPC和Helm等項目。基于其内部平台的經驗,該公司向外部客戶推出了基于Kubernetes的雲和面向微服務的解決方案—— 網易輕舟微服務平台。 

影響 

根據網易雲團隊的資料,Kubernetes使研發效率提高了100%以上,部署效率提高了280%。“在過去,如果我們想進行更新,需要與其他團隊甚至其他部門的同僚協作。”馮常健說,“我們需要專門的人員來準備一切,之前通常會花費大約半個小時的工作,現在5分鐘内就可以完成。”新平台還支援GPU和CPU資源的混合部署,這些改進也提高了資源的使用率。 

“我們放棄了Kubernetes的一些概念,僅使用了标準化的架構。”馮常健說,“我們利用Kubernetes的可程式設計性,以便我們可以建構一個平台來滿足内部客戶的更新和部署需求。”

最初,網易雲聚焦于建構容器平台來更好地管理資源,後續通過添加監控等工具,開始緻力于提升對微服務架構的支援,這意味着網易雲又內建了Prometheus,Envoy,Harbor,gRPC和Helm等CNCF項目。據馮常健介紹:“我們正在努力提供一個簡單和标準的流程,以使得我們的使用者可以利用我們的最佳實踐”。

并且這個團隊也在繼續做出改進,比如電商業務需要混合部署,在過去這需要使用2套獨立的平台:基礎設施平台和Kubernetes平台。最近,網易雲在此基礎上研發了一套跨平台的應用,實作2個平台的一站式部署。

社群與生态

 “我們是一個專注于面向微服務解決方案的團隊,通過與社群的合作,我們可以獲得經驗并從中受益,我們可以看到社群的關注點和面臨的挑戰,并參與其中。”

- 馮常健,網易雲架構師、輕舟微服務技術負責人

基于内部平台的使用經驗,網易雲開始對外提供基于Kubernetes的雲平台和面向微服務的一站式解決方案——輕舟微服務平台。馮常健說:“我們希望将這些内部業務遇到的問題和經驗産品化,滿足外部客戶的需求。”

無論是否使用網易雲産品,網易雲都鼓勵其他公司嘗試Kubernetes。“隻要公司擁有一支成熟的團隊和足夠的開發者,我認為Kubernetes是一種非常好的技術,可以幫助到企業。”網易雲Kubernetes開發者李岚清說。

作為最終使用者和雲服務提供商,網易雲在社群中也非常活躍,積極學習其它公司的經驗,并分享其實踐案例。網易雲團隊也一直在參與Harbor和Envoy項目的社群貢獻,基于網易的規模體量提供測試回報。馮常健說:“我們是一個專注于面向微服務解決方案的團隊,通過與社群的合作,我們可以獲得經驗并從中受益,我們可以看到社群的關注點和面臨的挑戰,并參與其中。”

相關文章:

【推薦】 從golang的垃圾回收說起(下篇)

【推薦】 LinkedBlockingQueue源碼解析(3)

【推薦】 架構為什麼會腐化

繼續閱讀