一份關於.NET Core雲原生采用情況調查


調查背景

Kubernetes 越來越多地在生產環境中使用,圍繞 Kubernetes 的整個生態系統在不斷演進,新的工具和解決方案也在持續發布。雲原生計算的發展驅動着各個企業轉向遵循雲原生原則(啟動速度快、內存占用低)的平台, .NET Core正是在雲原生背景下發展起來的平台,.NET Core的啟動速度快,內存占用很低,反而Java平台在雲原生時代大大的落后了。這也是可以給很多人解釋為什么.NET Core 平台下沒有Spring Cloud這樣的框架。微軟完全是面向未來的設計系統,使用kubernetes 和 service fabric來協調服務,在這兩個框架之下Spring Cloud這樣的框架已經毫無意義。由於軟件定義基礎設施方興未艾,編排和自動化領域kubernetes占據了主體地位,在平時的工作中和身邊的同學聊天的過程中很多人對kubernetes 有一種畏懼心理,所以7月份我在微信公眾號“dotnet跨平台” 進行了一項關於.NET Core雲原生采用情況的調查,參與人數741,這個調查今天也結束了,所以這里寫一篇文章總結一下。

調查結果
1. 是否使用.NET Core開發

image

我的公眾號里用戶多是使用.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

image

使用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 采用情況

image

60%的受訪者使用 Kubernetes 進行容器編排,基本上kubernetes的專業調查數據相驗證,這個數字是使用 Docker Swarm 的兩倍,Service Fabric的使用也有11%,相信到明年,Kubernetes 將可以全面用於生產環境中的工作負載。 在使用kubernetes的方式上更多人選擇了自建k8s集群,略多於使用雲托管的k8s

4.采用 Kubernetes 的障礙

image

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

5.采用 Kubernetes 時需要哪些幫助

image

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

6.遇到問題時向誰求助

image

團隊尋求建議的信息源差不多,主要包括編排工具供應商(11%),獨立咨詢公司(6%),業內同行(28%)和相關論壇(50%)。僅有 6% 的受訪者在部署 Kubernetes 的時候不需要幫助。這個結果表明,組織在尋求所需幫助時存在一定的問題。我已經在使用.NET Core + kubernetes這條道路上探索了大半年時間,積累了很多經驗,你們需要幫助時歡迎找我,我公司可以提供相關各方面的咨詢服務。

如果你正在考慮 Kubernetes 或在評估/部署過程中,可以從已經在使用 Kubernetes 的人那里得到有用的建議。使用雲原生技術(包括 Kubernetes)很難,但對於那些優先考慮軟件開發並希望縮短開發周期,更好地利用資源以及獲得最佳開源技術的團隊來說,顯然是值得的。特別是使用.NET技術的團隊,轉向.NET Core這艘大船時,kubernetes 一定是最好的舵手, .NET Core 針對雲原生開發的重新定義,免費開源跨平台,性能接近C++。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM