在開發圈裡,程序猿們都信奉一句至理名言——不要重新發明輪子。但事實上,顛覆性的新技術一旦出現,重新發明輪子的事總是歷史性地在重演。比如Java誕生之時,正是將之前包括C、C++等在內的語言寫出來的應用程式重寫一遍,從而成為當前最為流行的程式語言之一。在雲計算時代,雲原生技術又在重演Java的歷史。
怎樣才能最大程度利用雲的能力?避免廠商鎖定又能降低成本?雲原生已經被廣泛證實是最佳路徑。而容器和Kubernetes正是雲原生體系裡的基石。因此,以Kubernetes為代表的開源項目已呈燎原之勢。Kubernetes在雲計算社區中的使用率從2018年的58%上升到2019年的78%。這其中很大一部分價值來自參與Kubernetes社區的個人和組織的努力。
KubeSphere的社區生態
青雲QingCloud應用和容器平臺研發總監周小四,於2018年開始帶領團隊自主研發容器平臺KubeSphere,並投入專屬團隊經營KubeSphere社區。短短兩年多的時間內,KubeSphere用戶量急劇上升。社區下載使用KubeSphere的用戶比例已達40%,從試用體驗用戶到支持用戶轉化率高達60%以上,目前在國內的用戶已達上萬個。
2019年,AWS中國區業務負責人主動找到周小四,希望合作,對方坦言經過長時間的調研,發現KubeSphere是最滿足國內用戶交互習慣和使用習慣的容器平臺。
如此高的轉化率以及越來越多合作夥伴,基至是巨頭公司的強烈合作意向,讓周小四意識到KubeSphere算是站穩了腳跟。在周小四看來,KubeSphere是經過周密設計的,最吻合用戶的交互習慣、使用習慣的開源容器平臺,並走出了與當前市場同樣是基於Kubernetes的另兩大主流容器平臺不同的設計路線,那就是重視交互體驗並且做到「開箱即用」,也就是替開發者和用戶把KubeSphere後端的技術障礙屏蔽掉。
「我們還投入了專門的團隊來運營KubeSphere社區,如今看來,社區對我們來說就是無價之寶。KubeSphere之所以能夠成為最符合用戶使用習慣的平臺,就是因為我們的研發團隊和社區用戶形成了『水與魚』的關係,交融在一起,他們促進我們發展,我們為他們提供服務。KubeSphere 能夠從 1.0 公測版本快速發展和迭代至 3.0 多集群版本,得益於我們和社區用戶對開源的共同貢獻。」周小四由衷地發出感嘆。
新增了「多集群管理」等功能的KubeSphere 3.0,可以說是 KubeSphere 社區最重要的裡程碑。在新版本發布的兩個多月內,就受到了來自合作夥伴、用戶、貢獻者等多方面的高度認可。其中就包括KubeSphere 上架 AWS Quick Start,深度集成 Amazon EKS,還與Cisco、Intel 等國際巨頭廠商發布了聯合解決方案。
更讓周小四驚喜的是,在過去半年內,KubeSphere海外用戶比例甚至達到58%,首次超過了國內用戶。「如果2020年是完成了從0到1的突破的話,2021年我們將要實現從1到10的增長,海外市場的布局必不可少。」
在周小四的規劃中,KubeSphere 下一個版本將會採用可插拔的、開放式的架構。也就是說用戶在開發應用時,可以保持原有的開發形式不變。最終用戶體驗到的將是一個完整的KubeSphere Native服務,而不是離散的、割裂的服務。
這將會是深受廣大ISV歡迎的開發方式,因為ISV不需要投入資金去定製化KubeSphere,也不會脫離他的上遊社區,並且可以完全利用KubeSphere自身的能力做成本地服務交付給用戶。當越來越多的ISV有能力提供KubeSphere Native服務時,一個巨大的生態就會形成。
KubeSphere的社區生態
KubeSphere的迅速發展除了社區的力量之外,一個更重要的力量就是數位化轉型大潮對雲原生的推動。周小四總結的雲原生的四大推力,也正是KubeSphere要解決的四大核心問題:
第一,在數位化轉型和網際網路化的衝擊之下,企業面對的用戶需求更加多樣化、個性化、碎片化,企業應用上線、迭代速度加快,所以企業希望應用功能、服務都能快速交付給用戶。然而傳統的集中式架構、開發模式難以適應這種趨勢,企業需要摒棄原有的技術堆棧擁抱雲,要把應用全部放到雲原生的平臺上,用相對標準的流程把開發、測試、發布流程管理起來。比如:能夠在異構環境裡面運行分布式應用、支持異構環境的統一管理,讓應用更加靈活地部署在多個不同的節點上面,建立自身的DevOps流程,去支撐創新的應用、網際網路化的應用。
第二,經過這幾年發展,包括容器技術、微服務技術、分布式應用架構技術、5G技術,極大地方便了使用者對雲的訪問、連接,使得企業更加願意把應用遷移到雲上,通過雲原生技術讓應用發揮雲的彈性、標準化交付、高容錯、高並發處理等特性,加快應用開發、持續迭代。
第三,對雲原生最強烈的需求方是ISV。ISV開發的應用要交付給不同的客戶,但是在開發過程中他們發現不同的客戶部署的雲平臺不一樣,所以要適配很多雲平臺。此時,他們需要的是一個同構平臺,能夠解決異構資源池問題,解決標準化安裝、部署、運維問題。
第四,從國家政策層面,新基建的推進帶動雲原生技術需求增長飛速。以工業網際網路為例,底層建設涉及平臺、網絡、安全等,上層是工業App。在開發過程中,要面對大量場景和大量開發者,怎麼解決如此之多的開發平臺的適配問題?那一定是希望所有的開發者能夠共享同一個開放、標準、開源的平臺。
得用戶者得天下,KubeSphere在設計之初,就明確了KubeSphere不是青雲QingCloud的,而是社區的。雲原生應用是一個重構的過程,所以做大雲原生生態,最終也必將會把重構過程中的需求反饋到KubeSphere上來,從而服務更多的用戶。