一份关于.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开发

我的公众号里用户多是使用.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 的障碍

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++。
一份关于.NET Core云原生采用情况调查的更多相关文章
- .NET 在云原生时代的蜕变,让我在云时代脱颖而出
.NET 生态系统是一个不断变化的生态圈,我相信它正在朝着一个伟大的方向发展.有了开源和跨平台这两个关键优先事项,我们就可以放心了.云原生对应用运行时的不同需求,说明一个.NET Core 在云原生时 ...
- 【转】.NET 在云原生时代的蜕变,让我在云时代脱颖而出
原创:张善友 原文:https://www.cnblogs.com/shanyou/p/12198741.html .NET 生态系统是一个不断变化的生态圈,我相信它正在朝着一个伟大的方向发展.有了开 ...
- 公有云上构建云原生 AI 平台的探索与实践 - GOTC 技术论坛分享回顾
7 月 9 日,GOTC 2021 全球开源技术峰会上海站与 WAIC 世界人工智能大会共同举办,峰会聚焦 AI 与云原生两大以开源驱动的前沿技术领域,邀请国家级研究机构与顶级互联网公司的一线技术专家 ...
- 乘风破浪,.Net Core遇见Dapr,为云原生而生的分布式应用运行时
Dapr是一个由微软主导的云原生开源项目,国内云计算巨头阿里云也积极参与其中,2019年10月首次发布,到今年2月正式发布V1.0版本.在不到一年半的时间内,github star数达到了1.2万,超 ...
- 从CLR GC到CoreCLR GC看.NET Core对云原生的支持
内存分配概要 前段时间在园子里看到有人提到了GC学习的重要性,很赞同他的观点.充分了解GC可以帮助我们更好的认识.NET的设计以及为何在云原生开发中.NET Core会占有更大的优势,这也是一个程序员 ...
- 云原生ASP.NET Core程序的可监测性和可观察性
分布式应用程序很复杂,给开发人员调试和修复生产问题带来了一系列挑战.尽管微服务架构可帮助维持一支规模较小,可以自主工作并专注于独立业务团队,但由于其分布式性质,它带来了新的挑战.例如,在业务交易过程中 ...
- 比MySQL快6倍 深度解析国内首个云原生数据库POLARDB的“王者荣耀”
随着移动互联网.电子商务的高速发展,被使用最多的企业级开源数据系统MySQL面临着巨大挑战——为迎接“双11"的高并发要提前做好分库分表;用户不断激增要将读写分离才能应对每天上亿次的访问,但 ...
- 进击的 Java ,云原生时代的蜕变
作者| 易立 阿里云资深技术专家 导读:云原生时代的来临,与Java 开发者到底有什么联系?有人说,云原生压根不是为了 Java 存在的.然而,本文的作者却认为云原生时代,Java 依然可以胜任&qu ...
- 进击的.NET 在云原生时代的蜕变
你一定看过这篇文章 <进击的 Java ,云原生时代的蜕变>, 本篇文章的灵感来自于这篇文章.明天就将正式发布.NET Core 3.0, 所以写下这篇文章让大家全面认识.NET Cor ...
随机推荐
- 高并发 Nginx+Lua OpenResty系列(5)——Lua开发库Redis
Redis客户端 lua-resty-redis是为基于cosocket API的ngx_lua提供的Lua redis客户端,通过它可以完成Redis的操作.默认安装OpenResty时已经自带了该 ...
- vuex分模块后,如何获取state的值
问题:vuex分模块后,一个模块如何拿到其他模块的state值,调其他模块的方法? 思路:1.通过命名空间取值--this.$store.state.car.list // OK 2.通过定义该属性的 ...
- Java并发之Semaphore和Exchanger工具类简单介绍
一.Semaphore介绍 Semaphore意思为信号量,是用来控制同时访问特定资源的线程数数量.它的本质上其实也是一个共享锁.Semaphore可以用于做流量控制,特别是公用资源有限的应用场景.例 ...
- C++ 洛谷 P1879 [USACO06NOV]玉米田Corn Fields
没学状压DP的看一下 合法布阵问题 P1879 [USACO06NOV]玉米田Corn Fields 题意:给出一个n行m列的草地(n,m<=12),1表示肥沃,0表示贫瘠,现在要把一些牛放在 ...
- 常用的方法论-5W2H
- python初识(2)
1 字符串格式占位符 1.1%s %d %% 占位符 预留 字符串 整型 (转义) name = input('name:') print ('你的名字是:%s'%(name)) 1.2 f" ...
- POJ 1485:Fast Food(dp)&& 面试题
题目链接 题意 给出 n 个餐厅,m 个停车场,现在要将 n 个餐厅中的 m 个变成停车场,使得每个餐厅到最近的停车场的距离之和最短,输出哪个餐厅变成停车场和它服务哪些餐厅,还有最短距离之和. 思路 ...
- CentOS7 使用 kubeadm 搭建 k8s 集群
一 安装Docker-CE 前言 Docker 使用越来越多,安装也很简单,本次记录一下基本的步骤. Docker 目前支持 CentOS 7 及以后的版本,内核要求至少为 3.10. Docker ...
- 分组在re模块中的使用
import re #search s = "<a>wahaha</a>" #标签语言 html 和 web相关 ret= re.search(" ...
- 2050编程赛 冰水挑战 HDU 6495
题目地址:https://vjudge.net/problem/HDU-6495 思路:我们需要维护的是挑战了n个之后剩余体力值,剩余体力值越大越好dp[N(i)][N(j)],第一个维度,记录当前是 ...