“單集群峰值流量達10億+,單租戶容器規模50000+,經歷過無數復雜業務、大流量、復雜化部署等方面的技術考驗……”這就是百度云引以為傲的容器引擎服務CCE(Cloud Container Engine)。
從2012年開始摸索底層容器化,到現在的一站式容器云服務平臺CCE,百度云用七年時間完成了容器技術的生根發芽到茁壯成長。可以說,百度云容器引擎CCE就是百度云如何將驗證過的先進技術賦能給企業級客戶的一個縮影。
本文將帶領大家重新回顧百度云容器引擎服務CCE的成長歷程,告訴你一款久經實踐考驗的容器服務產品是如何淬煉出來的。
厚積薄發
百度內部的容器實踐
在后云時代,容器作為一種被廣泛認可的輕量虛擬化技術開始得到普遍應用,幫助用戶IT實現了成本和效率層面飛躍提升。作為國內最早應用容器技術的公司之一,百度早在2012年(在Docker技術出現之前)即開始在內部進行容器化嘗試,以此解決數據中心資源利用率不均衡、故障處理效率低以及配置管理復雜等挑戰。
2012年,百度內部孵化出輕量虛擬化技術平臺:Matrix,用于超大規模資源調度和管理。此后,百度內部基于Matrix開始大規模推廣底層容器化,并基于此開展復雜資源調度和資源混布技術研究與實踐。截至當前,基于Matrix的容器平臺已經成為百度內部默認的資源交付方式,覆蓋了內部數十萬臺規模的服務器,全IDC資源利用率得到大幅提升。
與此同時,隨著Docker的出現和流行,2014年開始百度內部也啟動了對Docker技術的研究與實踐。相比于Matrix對于重型后端業務的場景,Docker技術則在Web類輕量級應用的快速開發和靈活部署上有自己的應用場景。
正因為百度內部有先進的自研Matrix容器集群操作系統以及針對各種業務類型的PaaS技術積累,讓百度云可以更加專業、成熟地去關注和參與諸如LXC、Docker、Kubernetes等云原生容器和容器管理技術的發展,也為后續百度云基于這些先進技術輸出領先的云原生產品,提供了非常強大的技術后盾和實踐指導。
初出茅廬
百度云CCE正式發布
用技術解決商業的不平等是百度云的核心使命。在國內基礎云設施轉型升級的關鍵時間,百度云希望可以將先進的技術能力輸出給企業級用戶,這其中基于容器的資源隔離和管理是大部分企業級用戶非常感興趣的方向。
與此同時,百度云深知,一項好的技術在企業級業務場景中落地與應用,首先需要在百度云自身業務環境中得到實踐與證明,之后將實踐經驗與外部用戶環境有機結合,還需兼顧技術的通用性、兼容和標準化。
百度云是國內Kubernetes容器技術最早的踐行者。一直以來,百度云對主流開源PaaS/CaaS技術發展保持著密切關注。在Kubernetes發展初期,百度云就是社區的積極參與者,并對Kubernetes以及周邊技術進行了深入研究和實踐。早在Kubernetes v0.8版本推出之際,百度云即經過二次優化,實現了生產級別的實踐。
此后,百度視頻、糯米電影、百度文庫、百度教育等產品線逐步向百度云遷移,百度云容器引擎經歷了復雜業務、大流量、復雜部署等多方面的技術考驗。例如,單集群峰值流量達10億+,單租戶容器規模50000+等。經過各種復雜業務的淬煉,百度云逐步練就了以Kubernetes為中心的容器技術方向強大掌控力。
2017年6月,CNCF(Cloud Native Computing Foundation,云原生基金會)調查顯示:使用Kubernetes作為容器管理工具的企業占比達77%,排名第二的Swarm則遠遠落后,只有21%,第三名則是13%的Mesos。至此,Kubernetes成為容器編排引擎的事實標準。
同年8月,百度云正式發布云容器引擎服務CCE,正式開始對外輸出百度云在容器技術上的多年積淀。
同年12月,百度云宣布以金牌會員身份加入CNCF。次年3月,百度云容器引擎服務CCE通過CNCF首批“Kubernetes一致性認證”。
自此,百度云容器引擎服務CCE作為一個Kubernetes原生的云服務,充分發揮了Kubernetes的開源優勢,并提供企業級的穩定性和可靠性,迅速獲得了開源社區和客戶的認可,并開始逐步為更多的外部用戶提供容器平臺服務。
江湖路遠
CCE逐步走向成熟
2018年6月28日,開源容器編排引擎Kubernetes正式公布了2018年第二個發布版本:Kubernetes 1.11。隨后,百度云容器引擎服務CCE也迅速進行升級,于7~9月間迎來了大量功能更新:通過CNCF最新的1.11版本一致性認證、支持用戶專屬服務器部署、支持容器粒度資源監控報警、支持云控制臺管理Pod/部署/服務等資源……
隨著這些新功能的發布,百度云容器引擎服務CCE作為一站式容器云平臺服務,已經具備完善的功能、企業級的穩定性。事實上,自正式發布一年多以來,CCE經歷了6個版本的快速迭代,持續上線了將近200個特性和功能,托管在CCE上的用戶服務器數量也從開始的數十臺增長到了數千臺,運行容器數量達到數萬個。
百度云容器引擎服務CCE已經在底層架構、容器編排、場景實踐等方面均已經逐步走向成熟。
在底層架構中,CCE支持多種部署模式,包括云服務器BCC、用戶專屬服務器DCC或者用戶私有化環境部署,未來還將支持多種模式的混合部署。CCE將幫助用戶快速部署完整的Kubernetes組件、管理集群的穩定性、自動擴縮容底層計算實例、同時在用戶管理上層服務時聯動操作存儲、網絡等相關資源。
在云原生技術與云提供商集成方面,百度云是國內兩家獲得Kubernetes官方支持維護的云廠商(Cloud Provider)之一。
在容器編排層,CCE完全基于Kubernetes,支持用戶根據業務自行部署各種開源組件。同時CCE將Kubernetes中各項資源的管理集成到百度云控制臺,用戶可以通過可視化界面簡單地監控和管理部署在CCE中的容器、服務和各項資源,也可以使用原生的kubectl命令行工具完成更多復雜的部署操作。
在場景實踐方面,百度云以CCE作為底層技術平臺,衍生出了一系列垂直行業解決方案,包括快速提供AI能力的Paddlecloud、Infinite,以及幫助區塊鏈賦能用戶業務的以太坊BaaS和Fabric解決方案等。
2018年10月,百度云容器引擎服務CCE獲得可信云2018年年度容器類的技術創新獎。作為一站式云容器平臺服務,CCE的功能完備度和服務穩定性均已經全面走向成熟,正在幫助越來越多百度云用戶實現底層架構容器化和大規模業務效能的提升。
未來,百度云容器引擎服務CCE也將隨著容器技術的發展以及用戶業務的需求而不斷迭代升級,始終保持行業領域的前瞻性和領先性,為用戶提供最領先的容器云服務。