近日来,腾讯云、阿里云等科技公司纷纷发布了云原生开源平台,聚焦在微服务管理框架和大数据运维。其中,腾讯云带来的“Femas”更是成为了业界首个云原生标准的开源一站式微服务框架。此外,据云原生计算基金会(CNCF)数据统计,云原生相关的开源项目已经超过1000个,覆盖计算、存储、网络、大数据、AI等各个方编程客栈面。
毋庸置疑,云原生吞噬世界处于现在进行时。为此,CSDN在《2021-2022中国开发者调查报告》中,也首次对2503位开发者进行了云原生技术的报告调查。
本次调查报告专家顾问、火山引擎副总经理张鑫点评道,云原生将是企业实现数字化转型的底层技术趋势。然而,“理想国”纵然美好,但我们更需要清楚当前的位置。“从多个统计数据中,可以看出国内企业的云原生落地还处于发展期,商业化落地还有更大可挖掘的空间。”
事实上,和互联网已经完全普及,人工智能技术更为形象不同,云原生既远离我们的日常感知,又因为是技术体系和方法论的抽象,真正理解还需要还原到具体情境之中。但好在,已有不少开发者开始FvWUnZIiL接触到云原生DevOps的相关实践。
在产业端,有20%的公司在云原生上的投入占比达到公司整体IT投入的30%以上。
除此之外,在本次调查结果中,以下几点也值得开发者特别关注:
40%的开发者专注于微服务架构,是云原生领域涉足最多的技术;
38%的公司完成了微服务化/容器化改造,云原生技术趋势势不可挡;
67%的开发者认为,掌握和运用docker、Kubernetes等技术最为重要;
混合云、多云的占比逐渐增大,对弹性和灵活性的需求正在逐渐增强;
41.2%的开发者认为,规范API接口是亟待改善的首要问题。
云原生作为云计算领域新的变量,在普及应用的近几年间,无数开发者涌入其中。但是据调查数据显示,在开发者对云原生的理解和实践上,有两个7%的数据:第一个是能深度理解云原生,并能较深入应用这一技术的开发者占比7%;第二个则是有三年以上DevOps相关实践的开发者占比。
这意味着在各大互联网巨头布局云原生技术的同时,高端、资深人才的匮乏也是行业面临的通用性难题。
图1开发者对云原生的了解
不过,72%开发者表示,自己正处于了解云原生的概念、以及了解技术但尚未应用阶段,且有75% 的开发者刚开始展开DevOps相关实践,这也将为云原生技术的未来发展注入新的活力和可能性。
图2开发者对DevOps实践年限
在云原生人才技能提升层面上,有两大影响要素,一是,技术认知度与工作者的契合度;二是,开发者的自学能力和意愿也是在人才市场上脱颖而出的关键。虽然有相当一部分开发者在工作中并没有使用云原生技术,但仍有60%的开发者表示每天会花1个小时以上进行相关知识的学习。
图3开发者对FvWUnZIiL云原生学习、实践的每日时长
整体来说,相较于产业的迅猛发展,云原生的人才供给略显滞后。对此,张鑫认为,企业加速招聘或培养云原生人才是实现业务云原生化和敏捷化的关键点。对于开发者而言,加速学习和掌握云原生相关技术才能让自己在行业中的价值更加凸显。
在企业对云技术专家的配置上,近5成开发者表示,所在公司从事相关工作的专家数量在1-10人之间,只有8%的公司人数在500人以上。
图4公司中从事云技术相关的专家人数
相较去年61%的公司将云原生的应用集中在微服务上,今年这一数据下降到了40%。不过,微服务架构依然是开发者涉足云原生领域的首选,随着微服务架构分层逐渐清晰,包括业务侧Serverless化,这将帮助更多的公司进一步提升研发和运维效率。
图5开发者涉足云原生领域排行
在国内,各公司对数据、安全性都比较重视,从数据中也可以看到,34%的开发者表示公司使用私有云。16%的公司使用混合云的部署方式,将私有、敏感数据放到私有云中去处理。多云的使用在近年来的占比也逐渐加大。
图6公司使用云的情况
据IDC预测,到2024年,新增的生产级云原生应用在新应用的占比将增加到60%。而要达到这一目标,还需要企业的持续发力。
在节点部署上,33%的公司少于50个,相较于去年59%的数据,已有更多公司愿意进行更多节点的部署。但整体来看,大部分公司部署的总结点数仍然较少,这与投入在云原生上的费用较少密切相关,20%的公司云原生投入费用占到整个公司IT投入比例30%以上,另有20%的公司投入只占5%以内。
图7部署节点数量
图8公司用于云原生的费用占比
调查数据显示,有相当一部分(42%)的公司尚未完成微服务化/容器化改造,38%的公司同时完成了两项改造。另有分别占比为10%的公司完成了两项改造中的一项。这一方面说明商业化落地还有很大可挖掘空间,另一方面,选择改造的企业大部分会采取微服务化/容器化同时进行。
图9公司微服务化/容器化情况
据“CNCF2021年云原生调查”结果显示,Kubernetes使用率持续增长,达到了有史以来的最高水平,96%的组织在使用或评估这项技术。
在我们本次调查中,48%的开发者表示正在使用Kubernetes进行容器管理,其次是Docker Swarm,占到31%。
图10容器集群管理工具排行
在Kubernetes技术栈下面,最受开发者欢迎的工具是Minikube,29%的开发者表示经常使用。
图11经常使用的Kubernetes工具
2013年发布的Docker依然是使用量最多的容器平台。数据显示,77%的开发者使用的容器运行时环境是基于Docker构建的。
图12容器运行时环境
有67%的开发者认为,掌握和运用Docker、Kubernetes等技术是最为重要的。其次,51%的开发者认为微服务架构也非常重要。
图13云原生时代必不可少的技能
此外,在DevOps的实施中,团队协作依然是重中之重。46%的开发者表示,他们会在团队协作上使用更多的工具保证协作过程的流畅。
图14DevOps中使用的工具分布
云原生的相关技术越来越受到开发者的重视,关于学习和实践云原生,一方面能让开发者在专业技能上得到提升,另一方面是开发者职业生涯的需要。
图15开发者学习和实践云原生的原因
在云原生的落地实践所遇到的挑战中,排在第一的是“高延时增加”,占比27.5%;其次是故障增加,占比26.7%。对于为什么云原生在理论上应该提升系统性能和并发性能,实际当中却主要面临着“非功能性”的挑战,张鑫分析道:“任何技术都不是‘银弹’,它们的成功落地需要严谨的调优、正确的最佳实践,以及契合不同场景的使用姿势。”
图16实践云原生遇到的挑战
在“云原生技术亟待改善的问题”中,有41.2%的开发者认为“规范API接口”排在首位。此外,适度微服务拆分、统一配置管理分别占比30.8%和30.4%。
图17云原生技术亟待改善的问题
从调查数据来看,云原生技术目前面临的首要问题还是在人才的普及上,好在无论是产业端还是开发者都开始重视并大力投编程客栈入。但和任何新兴技术一样,从概念到落地,最终形成产业化,需要漫长的试错和纠偏。伴随着产业应用进入稳步发展期,相信遇到的挑战和问题都会迎刃而解。