随着2013年3月Docker 0.1版本釋出以及2015年Kubernetes容器編排架構的開源,容器技術發展走上了快車道。容器架構的靈活、輕簡和高度相容性使得容器成為雲原生生态中最基礎的一環,在DevOps、微服務應用的推進中,容器和編排架構都扮演至關重要的角色。目前容器技術的發展已經到了第三個階段:第一階段2014-2016年的技術探索期;第二階段2017-2018年的行業試水期;第三階段2019年以後的規模應用期。
2020年5月和6月,CNCF社群對雲原生市場和生态進行了第八次使用者調查評估,收到了1324份回複。主要結論包括以下幾個方面:
- 容器在生産中的使用率從去年的 84% 增加到 92%,比 2016 年的第一次調查增加了 300%。
- Kubernetes 在生産中的使用率從去年的 78% 增加到 83%。
- 自去年調查以來,所有 CNCF 項目的使用率都增加了 50%。
- 雲原生工具使用情況:
- 82% 的受訪者在生産中使用 CI/CD流水線。
- 30% 的受訪者在生産中使用無伺服器技術。
- 27% 的受訪者在生産中使用service mesh,比去年增加了 50%。
- 55% 的受訪者在生産中的容器中使用有狀态的應用程式。
調查受訪者中有三分之二來自員勞工數超過 100 人的組織,30%來自員勞工數超過 5000 人的組織,這顯示出強大的企業代表性。大多數受訪者(56%)來自軟體/技術組織。其他行業包括金融服務(9%)、咨詢(6%)和電信營運商(5%)。

受訪組織規模
01 容器進軍生産環境
容器技術應用初期,企業擔憂其穩定性,往往僅在開發環境和測試環境使用容器。容器應用到生産環境需要更高水準的叢集管理、網絡通信、安全防護能力,對企業的技術能力要求非常高。是以,最初企業在生産環境中部署容器的數量以較小規模為主,多為網際網路或金融行業的頭部企業。
2020年,92% 的受訪者表示他們在生産環境中使用容器,比 2016 年 3 月首次調查的 23% 增長了 300%;也比2019年的84%和2018年的73%的比例要大。約 95% 的受訪者在PoC中使用容器,這是自 2016 年 6 月以來,在 PoC 環境中使用容器比例的首次增加。這意味着,随着組織對容器的适應性越來越适應,它們正在測試新的用例、遷移更多的工作負載。
生産中使用容器已經是常态
再一次地,我們看到組織内運作的容器數量穩定增長。使用超過5000個容器的使用者在2020年達到23%,比2016年的11%增長109%。現在61%的使用者使用超過250個容器,而2019年為57%。
組織内部運作容器的數量
02. 容器存儲重要性逐漸展露
2020年的調研顯示,容器面臨的挑戰,新技術的複雜性和開發團隊的文化變化一起成為使用和部署容器的首要挑戰,41%的受訪者對此表示贊同;安全(32%)從去年排名第二下滑至第三;容器的存儲挑戰從去年的第五25%上升成至第四 29%。
容器所面臨的的挑戰
雲原生存儲近年來出現了爆炸式增長,包括不同的存儲産品:包括集中式、分布式、超融合等。CNCF 社群啟動了一個專注于存儲的特殊小組 (SIG),以澄清這些不同的存儲差別,并給出在選擇存儲解決方案時需要考慮的首要屬性。
容器最初被建構為無狀态,以保持其靈活和可移植性。但是,隻有 22% 的受訪者隻使用無狀态應用程式。随着雲原生存儲的普及,55% 受訪者在生産環境中使用有狀态應用程式,12% 正在評估中,11% 計劃在未來 12 月内會使用存儲。
容器存儲使用情況
焱融科技容器存儲
焱融科技是國内最早支援CSI容器存儲接口的廠商之一,也是國内首家進入CNCF Landscape存儲圖譜的廠商。經過幾年的發展與沉澱,焱融科技容器存儲解決方案已經積累了一定的客戶基礎, 受到到業内的廣泛認可。
CNCF雲原生存儲
03 雲原生技術在私用雲中保持增長,但仍然以公有雲為主要陣地
連續第三年,公有雲仍然是雲原生技術使用較多運作環境,使用量從2019的62%略增加到64%。私有雲或本地使用率從45%增至52%,增幅最大。混合雲從2019年的38%略降至36%。多雲使用是今年新增的一個選擇,有26%的使用者在使用。
混合雲是指結合使用内部部署和公有雲。多雲則意味着根據最适合工作負載的雲類型在不同的雲之間使用工作負載。Kubernetes和雲原生工具提供的可移植性使從一個公有雲供應商切換到另一公有雲供應商變得更加容易。
雲原生應用的基礎雲環境
04 版本釋出周期繼續加快,但自動化比例有所下降
自2018年以來,CNCF社群就在調查釋出周期相關的問題,以深入了解組織是如何管理其軟體開發周期的。到了第三個年頭,2020年,我們看到釋出周期仍在繼續加快。
每天一次甚至每天多次釋出軟體的使用者比例從去年的27%增加到了29%。每周釋出周期仍然是最常見的(26%),但超過一半的受訪者(55%)每周至少釋出一次或每周多次進行釋出。
有幾個因素正在推動快速釋出軟體産品這一趨勢:生産中對雲原生技術的使用不斷增長;組織建構出更進階的基礎架構。此外,新冠病毒大流行增加了數字消費,迫使組織适應并加快軟體釋出速度。
軟體釋出頻率
大多數受訪者(53%)每天多次check in代碼,而80%的人每周至少check in幾次代碼。這與2019年的結果一緻。
Check in代碼的頻率
自動+手工是最受歡迎的軟體釋出方法,有46%的受訪者選擇這種方法,高于去年的41%和2018年的25%。與此同時,已經從完全自動化的軟體釋出,從2019年的40%下降到33%。這與去年形成鮮明對比,去年自動+手工方式正在逐漸普及。這可能意味着許多組織由于其應用的複雜性而沒有準備好進行全自動釋出,或者他們希望保留對應用程式部署某些方面的控制權。在下一次調查中,我們再看看這種趨勢會發生什麼有趣的變化。
自動或手動進行軟體釋出的比例
關于組織内運作的計算機數量,包括虛拟機和裸機。我們看到兩端在增加,百分之八的受訪者使用一到五台機器,而一年前為百分之五,這表明新的采用者已進入生态系統。同時,使用5,000台以上計算機的使用者從15%增加到17%,這表明使用容器的使用者正在添加更多内容。2020年有81%的受訪者在雲原生環境中使用了20多台機器。
環境中使用了的伺服器數量(包括虛拟機、實體伺服器)
05 Kubernetes繼續引領集雲原生業務
2020年,有91%的受訪者表示政治使用Kubernetes,其中83%用于生産。這比2019年的78%和2018年的58%穩定增長。
在使用Kubernetes的企業中,使用2到5個Kubernetes叢集的最為常見,約戰39%,比去年的43%有所下降。生産環境中使用11個Kubernetes叢集的企業數量從2019年的24%增加到28%,比2017年增加56%。
随着Kubernetes的發展,其周圍的生态系統也在發展。該項目在2020年8月下旬釋出了1.19版。根據DevStats資訊中心的資料,在4月至8月的這個發行周期中,有382家公司和超過2,464個人為Kubernetes做出了貢獻。