2018年 Kubernetes 採用情況調查報告

調查背景

Kubernetes今年剛過了四周歲生日,是一項非常年輕的技術,但人們對它的採用速度很快。許多研究已經用數字或圖表表明了雲原生技術工具的發展趨勢,但很少有人深入研究背後哪些因素影響了決策者,大家在使用這些工具的過程中有哪些困難。

因此,Heptio委託第三方公司對各行各業的近400名IT決策者進行了調查,試圖瞭解哪些團隊/企業正在轉向Kubernetes,過程中遇到了哪些障礙以及他們如何從技術中受益。

本次調查的受訪者爲378名雲原生技術部署和策略的決策者,37%的受訪者團隊有100-1000名軟件開發人員,23%的受訪者團隊有超過1000名軟件開發人員。

Kubernetes採用情況

調查的第一個問題是受訪者如何使用Kubernetes。 60%的受訪者使用Kubernetes進行容器編排。在明年,這個數據有望增長到65%,而其他編排平臺(Docker Swarm,Mesos等)的使用將會減少或保持不變。

對於Kubernetes支持的應用程序類型,有一種常見的誤解,即容器只對無狀態應用程序有用。但調查結果顯示,現在Kubernetes可用於多種應用類型,包括數據密集型分析應用,機器學習應用和物聯網應用。

Kubernetes也從整體上增加了大家對開源軟件的信心。相比閉源軟件,受訪者更喜歡用開源平臺,對於日誌和監控也更傾向於使用開源解決方案。而對於負載均衡、存儲等解決方案,受訪者則更喜歡用閉源方案。

生產環境中的Kubernetes

30%的受訪者在生產環境中使用Kubernetes。而使用Kubernetes的團隊中,有一半是在生產環境中使用的,並且公司規模越大越有可能如此。

對於所有在生產環境中使用容器的團隊,68%的受訪者在使用Kubernetes。這個數字是使用Docker Swarm的兩倍。到明年,Kubernetes將可以全面用於生產環境中的工作負載。

多雲策略

多雲不僅是一種理念,現在已經是常用實踐了。三分之二的受訪者已經在採用多雲策略。採用多雲的原因有:能使用更好的功能,增加和雲供應商的談判資本,降低運營成本,提高性能等。

採用多雲的原因

Kubernetes天然適合多雲環境。通過使用新的管理工具來提供通用的操作環境,Kubernetes能允許在公有云或本地部署相同的應用程序。但是雲提供商對多雲沒有什麼興趣,因此在多雲環境中成功使用Kubernetes的關鍵是避免被鎖定到單個供應商。

##採用Kubernetes的障礙

Kubernetes這項技術還很年輕,圍繞它的生態系統也還在形成過程中。Kubernetes的功能和生態中的多種工具正在逐步演化,但步調卻不一致。因此,團隊在評估和運行Kubernetes的時候遇到了不同程度的問題。一些痛點包括:早期的設計和部署決定(47%),內部團隊對通用技術的統一認識(47%),內部缺少專家資源(45%),在關鍵任務中保證可靠性(43%),複雜策略的管理(42%)。

看看CNCF的龐大的項目生態就能理解爲何爲Kubernetes做架構決策很難:項目和工具太多,團隊需要指導。

採用Kubernetes時需要哪些幫助

對於這個問題,41%的受訪者的回答是“架構設計”。架構設計確實對很多團隊都造成了困擾,因爲對於架構設計有很多要考慮的地方:評估物理和軟件基礎設施,如何集成新技術,如何以新的方式運維等。排名第二的回答是“部署” ,僅佔16%,14%的受訪者表示在Kubernetes的日常管理上需要幫助。

遇到問題時向誰求助

團隊尋求建議的信息源差不多,主要包括編排工具供應商(55%),獨立諮詢公司(42%),業內同行(54%)和相關論壇(53%)。僅有4%的受訪者在部署Kubernetes的時候不需要幫助。這個結果表明,組織在尋求所需幫助時存在一定的問題。

誰在驅動Kubernetes的架構決策?受訪者的回答有很多,包括架構團隊,IT運維團隊,SRE,多功能團隊,業務線,外部諮詢公司等。在很多組織內部,不知道該由誰來承擔對Kubernetes的責任。也難怪前面提到的內部團隊對通用技術的統一認識是一大痛點。

SRE-Ops是新的DevOps趨勢

調查結果還顯示,大公司更傾向於使用SRE實踐。SRE結合了IT運維和軟件工程師的角色職責,以確保軟件的可靠性和可擴展性。

調查結果顯示,採用SRE-Ops做決策的團隊佔31%,在生產環境中使用Kubernetes時採用了SRE的團隊佔38%,有1000+開發者,並且採用SRE的團隊佔48%。

最重要的是我們相信,SRE-Ops在必須採用DevOps擴展的環境中很重要。

使用Kubernetes時最需要的能力

大多數人都希望有更好的可視性(visibility),以準確瞭解Kubernetes足跡中正在發生什麼。

具體來說,開發人員超過1000人的團隊更希望對集羣實時性能有更好的可視性,也更看希望能查看日誌審計和檢查的歷史數據。

無論團隊處在Kubernetes部署的哪個階段,都值得看看Kubernetes生態系統中解決方案,考慮哪些其他功能可以幫助更好地運行Kubernetes。

需要的能力:可視性(58%), 簡化的集羣支持和恢復 (55%), 持續的一致性測試(49%), 一體化支持和排障(49%),查看日誌審計和檢查的歷史數據(45%)

致持觀望態度的團隊

如果你的團隊目前正在評估Kubernetes,這裏有一些值得參考的經驗。

在生產環境中使用Kubernetes的受訪者中,有65%希望對集羣實時性能有更好的可視性。而在運維超過1000個容器的團隊中,這個需求更強烈(69%)。當容器數量增加,就需要更多的集羣。運營的集羣越多,對可視性的需求就越強烈。

其次,訪問審計日誌和檢查的歷史記錄的能力也很重要。在生產環境中運行Kubernetes的受訪者中,65%認爲這是一項關鍵能力。 對於這個問題,大多數受訪者都認爲關鍵在於標準化或一致性測試以及簡單的備份。

調查結果說明了什麼

克服多重困難部署Kubernetes值得嗎

調查結果表明很明顯是值得的。在生產環境中使用Kubernetes的團隊更容易獲得以下三個好處:縮短軟件開發週期,提高資源利用率,使用互補的開源技術

對於很多團隊來所,基本導向是在提高資源利用率的同時縮短軟件開發週期。Kubernetes及其相關技術和工具能幫你實現這些目標。

使用Kubernetes首要好處:使用互補技術,縮短軟件開發週期,提高資源利用率。紅色表示平均水平,黃色表示在生產中使用Kubernetes的水平

總結

Kubernetes越來越多地在生產環境中使用,圍繞Kubernetes的整個生態系統在不斷演進,新的工具和解決方案也在持續發佈。現在Kubernetes的使用者還在努力解決一些問題,但是長期來說,潛在收益將遠遠抵消這些困難。

爲了推進Kubernetes的發展,核心需求是提高可視性。 此要求體現了上游Kubernetes的重要性 - 建立一個獨立於雲的平臺,以避免雲供應商的鎖定。這樣能確保團隊更好地使用一流的開源技術,並在生態系統快速變化發展之時保持最大的靈活性。

如果你正在考慮Kubernetes或在評估/部署過程中,可以從已經在使用Kubernetes的人那裏得到有用的建議。使用雲原生技術(包括Kubernetes)很難,但對於那些優先考慮軟件開發並希望縮短開發週期,更好地利用資源以及獲得最佳開源技術的團隊來說,顯然是值得的。

本文根據Heptio的《The State of Kubernetes 2018》整理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章