調查背景docker
Kubernetes 愈來愈多地在生產環境中使用,圍繞 Kubernetes 的整個生態系統在不斷演進,新的工具和解決方案也在持續發佈。雲原生計算的發展驅動着各個企業轉向遵循雲原生原則(啓動速度快、內存佔用低)的平臺, .NET Core正是在雲原生背景下發展起來的平臺,.NET Core的啓動速度快,內存佔用很低,反而Java平臺在雲原生時代大大的落後了。這也是能夠給不少人解釋爲何.NET Core 平臺下沒有Spring Cloud這樣的框架。微軟徹底是面向將來的設計系統,使用kubernetes 和 service fabric來協調服務,在這兩個框架之下Spring Cloud這樣的框架已經毫無心義。因爲軟件定義基礎設施方興未艾,編排和自動化領域kubernetes佔據了主體地位,在平時的工做中和身邊的同窗聊天的過程當中不少人對kubernetes 有一種畏懼心理,因此7月份我在微信公衆號「dotnet跨平臺」 進行了一項關於.NET Core雲原生採用狀況的調查,參與人數741,這個調查今天也結束了,因此這裏寫一篇文章總結一下。微信
個人公衆號裏用戶可能是使用.NET,使用.NET core的用戶69%,還有31%的開發者沒有把.NET Core投入生產,從機率角度仍是反映了一個趨勢,記得2017年初我也在公衆裏作過相似的調查,當時的數據倒過來的,只有20%的用戶在使用.NET Core, 畢竟那時候.NET Core 才發佈1.1版本,還缺少不少API,隨着.NET Core 2.1的發佈,.NET Core的可用API獲得極大改善,不少新項目開始使用.NET Core,如今.NET Core 3.0 Preview7 也已經go live,能夠投入生產。架構
2. 是否使用docker 容器化.NET Core框架
使用docker容器化.NET Core的比例降低到了53%,這個數據相比.NET Core的使用人羣比例仍是超過了50%的,這是須要向你們多多推廣的地方了,指望更多的同窗可以把容器化技術用起來,.NET Core對容器很是友好,特別是.NET Core 3.0在docker 運行環境上有着更好的改進,.NET Core的容器化也是.NET Core有優點的地方,我常常在微信羣裏給你們介紹.NET Core容器化的優點,特別是對於Java來講,若是公司裏同時有Java團隊,你們都跑在docker上,這個優點領導必定看得見。運維
3.Kubernetes 採用狀況工具
60%的受訪者使用 Kubernetes 進行容器編排,基本上kubernetes的專業調查數據相驗證,這個數字是使用 Docker Swarm 的兩倍,Service Fabric的使用也有11%,相信到明年,Kubernetes 將能夠全面用於生產環境中的工做負載。 在使用kubernetes的方式上更多人選擇了自建k8s集羣,略多於使用雲託管的k8s性能
4.採用 Kubernetes 的障礙spa
Kubernetes 這項技術還很年輕,圍繞它的生態系統也還在造成過程當中。Kubernetes 的功能和生態中的多種工具正在逐步演化,但步調卻不一致。所以,團隊在評估和運行 Kubernetes 的時候遇到了不一樣程度的問題。一些痛點包括:內部團隊對通用技術的統一認識(22%), 內部缺乏專家資源(42%),在關鍵任務中保證可靠性(14%),複雜策略的管理(21%)。架構設計
5.採用 Kubernetes 時須要哪些幫助設計
對於這個問題,45% 的受訪者的回答是「架構設計」。架構設計確實對不少團隊都形成了困擾,由於對於架構設計有不少要考慮的地方:評估物理和軟件基礎設施,如何集成新技術,如何以新的方式運維等。31% 的受訪者表示在 Kubernetes 的平常管理上須要幫助。排名第三的回答是「部署」 ,僅佔 24%
6.遇到問題時向誰求助
團隊尋求建議的信息源差很少,主要包括編排工具供應商(11%),獨立諮詢公司(6%),業內同行(28%)和相關論壇(50%)。僅有 6% 的受訪者在部署 Kubernetes 的時候不須要幫助。這個結果代表,組織在尋求所需幫助時存在必定的問題。我已經在使用.NET Core + kubernetes這條道路上探索了大半年時間,積累了不少經驗,大家須要幫助時歡迎找我,我公司能夠提供相關各方面的諮詢服務。
若是你正在考慮 Kubernetes 或在評估/部署過程當中,能夠從已經在使用 Kubernetes 的人那裏獲得有用的建議。使用雲原生技術(包括 Kubernetes)很難,但對於那些優先考慮軟件開發並但願縮短開發週期,更好地利用資源以及得到最佳開源技術的團隊來講,顯然是值得的。特別是使用.NET技術的團隊,轉向.NET Core這艘大船時,kubernetes 必定是最好的舵手, .NET Core 針對雲原生開發的從新定義,免費開源跨平臺,性能接近C++。