Container是史上第一個能將所有應用封裝在標準化環(huán)境的技術(shù),這是邁向無服務器架構(gòu)的關鍵,Kubernetes就是為實現(xiàn)Container大規(guī)模部署而生,能讓Container叢集建置標準化,分布式App的開發(fā)更容易
在NEXT云端大會前一周,Google先釋出了Kubernetes 的1.2新版本,這個看似Google為了追趕Container及Docker熱潮而生的開源平臺,直到Next大會才揭開了它的真正面紗,其實這個項目源自Google已經(jīng)用了10年的Container技術(shù)。
Alphabet執(zhí)行董事長Eric Schmidt表示,2003年時,Google已經(jīng)發(fā)展到第三代云端平臺架構(gòu),開始使用Container技術(shù)來部署全球架構(gòu)的云端服務,因此而能催生了如Gmail這類全球規(guī)模的云端服務。10年前,Google更發(fā)明了用來管理全球最大規(guī)模叢集的排程和服務管理工具Borg。
2008年,Google推出了App Engine,讓開發(fā)者可以快速利用各種云端API來打造自己的應用,這個底層也是Container,但卻沒有受到開發(fā)者的青睞而使用率不佳。因為App Engine平臺出現(xiàn)太早,Eric Schmidt表示,「因為這是我們以為開發(fā)者應該需要的地方,卻不是當時開發(fā)者真正需要的地方?!购髞鞧oogle在2010年推出了VM租用服務,這就是GCP云端平臺的誕生。
不過,Google自家服務仍舊部署在可以提供更高彈性、以Container為主的第三代Google平臺上,而非是采用較舊VM技術(shù)的GCP云端服務(對Google而言)。至今,Google每周啟用的Container數(shù)量超過了20億個。
直到現(xiàn)在,Google基礎架構(gòu)副總裁Eric Brewer表示,以Container封裝應用、可動態(tài)維運、微服務架構(gòu)導向的云端原生應用風潮開始興起,Google遂將用來管理和部署大規(guī)模Container的Borg和Omega等管理平臺的經(jīng)驗,重新開發(fā)成了一套開源容器叢集管理軟件Kubernetes,并推出以Kubernetes打造的Google云端平臺提供的GKE(Google Container Engine)云端服務。
不同于Docker要讓Container可用,Eric Brewer表示,Kubernetes的目的是要讓Container能用于Production環(huán)境,使Container叢集建置可以標準化,讓分布式App的開發(fā)更容易。
在Kubernetes 1.2新版已可做到單一叢集提供3萬個Container的管理能力,也具備了彈性自動化擴充能力。
不過,Eric Brewer認為,更重要的新功能是ConfigMap API。這提供了可程序化和高彈性的部署配置,可以在開發(fā)常見的應用部署階段之前,提供一種新的組合式部署方法稱為Construction,在部署階段仍然可以實時變更Config配置,例如由程序自動依據(jù)部署環(huán)境在測試環(huán)境、Stage或Production階段來調(diào)整不同數(shù)據(jù)庫的配置參數(shù),可以提供比腳本程控或是DSL配置語言更彈性的自動化配置方法。
如此一來,Google云端平臺副總裁Brian Stevens表示,開發(fā)者只要將容器化后的應用丟上云端,就能自動部署成為全球架構(gòu)的服務,甚至不需要管理叢集,也根本看不到服務器。Container是史上第一個能將所有應用封裝在標準化環(huán)境的技術(shù),這是邁向無服務器架構(gòu)的關鍵?!副M管目前全球Container使用量不到VM用量的5%,但維運角色(Ops)終究會消失,這是正在發(fā)生的事?!?/p>
歡迎關注好雨云微信服務號(ID:goodrain-cloud),獲取更多有價值的資訊