一份关于.NET Core云原生采用状况调查

调查背景docker

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 的障碍spa

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++。

相关文章
相关标签/搜索