-
自2017年12月以来,CNCF项目在生产环境应用平均增长超过200%,所评估的项目数甚至达到了372%的增长。
-
自2017年12月以来,受访者中的大部分都使用了类似AWS Lambda(70%) 的平台服务。这使得无服务器技术的应用不断增长,增幅达到22%。
-
云原生技术的3大优势为更快速的部署时间,改善弹性和云可移植性。
-
5000员工以上规模的企业受访者中,40%的企业在生产环境中部署了Kubernetes。
这是迄今为止收到过最多的调查回复,共有2400人有效参与了调查,受访者主要来自北美(40%)和欧洲(36%)。均为研发人员或IT相关的角色,分布情况如下:
-
研发人员:49%
-
运维人员:36%
-
IT经理:11%
-
研发经理:14%
在本次最新版的调查问卷中,我们额外添加了发布方面的问题,以便更深入地了解公司如何管理他们的软件开发周期。微服务架构的好处之一是灵活部署的能力,从而允许公司根据需要尽可能频繁的进行应用发布。在微服务之前,典型的发布管理中,应用发布频率要低得多,通常是一年一两次左右。本次调查中,这一点变化突出,除发布频率外,受访者发布周期的各种发布占比相当均匀:
-
每周发布:20%
-
每月发布:18%
-
每天发布:15%
-
临时发布:14%
企业用云的数据分布情况是:自建数据中心占比64%,私有云占比50%,还有77%的企业采用了公有云的方案。 所采用的数据中心类型: 在采用容器化服务方面,大多数受访者公司都部署在AWS平台上(69%降至63%)。紧随其后的依次是本地数据中心部署(从51%降至43%)、谷歌云平台(39%降至35%)、微软Azure(从16%升至29%)、VMware(24%)和OpenStack(从22%降至20%)。括号内数据为相较于上次调查的数据。 容器化服务所部署的环境: 上述数字表现延续了我们在去年看到的趋势,但存在两个显著变化。首先是自有数据中心部署容器较2017年12月的51%下降到了43%,这很可能是由于私有云的使用增加所导致的。其次,这是我们第一次在这些调查结果中看到在VMware上广泛部署容器服务,在2017年12月的调查中,部署于VMware平台的仅仅为1.2%而已。
容器化服务数量的增长情况
73%的受访者在生产环境采用容器化服务,剩余的27%表示计划在以后采用这项技术。这个数据在17年12月的调查分别是75%和25%。当前在POC环境采用容器化的受访者有89%,而用于测试环境和开发环境的分别是85%和86%。 容器所用于的环境类型: 公司所运行的容器数量也同比基本保持稳定,运行容器少于50个的占29%,50 -249个的为27%,250-999个的为17%,运行的容器数量超过5000个的为15%。和上次的数据对比,使用容器数不到50的公司增长明显,从2017年12月的23%上升到29%,而容器数在250-999的公司数量略有减少,从22%下降到17%。 企业所运行的容器数量分布: 在容器管理工具方面,Kubernetes以83%的受访者采用稳居第一。其次是Amazon ECS 占24%,Docker Swarm占 21%,Shell Scripts占20%。2017年12月同类型数据分别是77%,18%,17%和12%,存在明显的增长趋势。 容器的管理工具类型分布: Kubernetes
58%的受访者在生产环境中采用了Kubernetes。同时,42%的受访者正在为以后应用进行评估。而在人员规模5000以上的企业中,有40%的受访者在生产环境中使用了Kubernetes。 在生产环境中,40%的受访者运行了2-5个Kubernetes集群,运行1个集群的有22%,6-10个集群的有14%,运行集群数超过50个的受访者公司为13%(2017.12数据为9%)。 在Kubernetes所运行的平台环境方面,51%的受访者运行在AWS(上期数据为57%),企业自有数据中心服务器有37%(上期数据为51%),谷歌云平台从上期的39%下降到了32%,微软Azure从23%降至20%,OpenStack从22%降至16%,然而,运行在VMware平台上的却从1%大幅升至15%。以下图标展现了受访者的Kubernetes所部署的平台和容器所部署平台的对比。 Kubernetes环境 vs 容器环境: 当采用本地部署时,大多数受访者都趋向于选择的环境和所选比例为:Minikube(45%),Docker Kubernetes(39%),on prem Kubernetes installations(30%)。 此外,我们还问询了受访者在管理应用程序的各个方面所采用的工具: 打包工具 首选的打包工具是Helm,占比68%,其次是Kubernetes内置的打包功能。 自动伸缩技术应用 自动伸缩的应用情况,64%的受访者采用了自动伸缩无状态应用,其次是Java应用(45%),然后是任务/队列处理应用(37%)。未采用自动伸缩技术的受访者,可能是还没有这个功能的应用意识或者不希望在目前对自有的工作负载采用自动伸缩技术。 入口提供方 Kubernetes的入口提供方应用最多几位依次是:Nginx占比64%(上期数据57%),HAProxy占29%,F5占15%(上期数据11%)和Envoy占比15%(上期数据9%)。 向集群外暴露服务 受访者向集群外(如internet或其他虚拟机)暴露服务的首要方式是通过负载均衡器(67%)。其次是L7 ingress(39%)和集成第三方负载均衡器提供33%。 Kubernetes内组织团队间隔离 在Kubernetes内部,受访者进行多个团队间的隔离,使用最多的技术是命名空间(Namespaces)占比71%,其次是独立的集群(51%),仅仅采用标签的为(15%)。 隔离Kubernetes内的应用 受访者进行Kubernetes应用隔离采用命名空间(Namespaces)占比78%,其次是独立的集群(50%),仅仅采用标签的为(21%)。
生产环境中的云原生项目
云原生项目有哪些优势呢?受访者提及最多的3个理由是:
-
更快速的部署时间
-
改善弹性
-
云可移植性
使用和部署容器的挑战
云原生技术改变了企业设计,构建应用的方式,挑战也是无法避免的。受访者反馈所面临的挑战主要有:
-
研发团队的文化转变:41%
-
复杂度:由35%提高到40%
-
培训不足:40%
-
安全性:由43%降到38%
-
监控:由38%降到34%
-
存储:由41%降到30%
-
网络:由38%降到30%
-
Rook:生产环境应用的受访者占比11%,正在评估中的受访者占比89%(上期调查29%)。
-
Minio:生产环境应用的受访者占比27%,正在评估中的受访者占比73%(上期调查28%)。
-
OpenSDS:生产环境应用的受访者占比16%,正在评估中的受访者占比84%(上期调查分别为7%和14%)。
-
REX-Ray:生产环境应用的受访者占比18%,正在评估中的受访者占比82%。
-
Openstorage:生产环境应用的受访者占比19%,正在评估中的受访者占比81%(上期调查分别为31%和36%)。
在本次调查中,我们仍然持续跟进无服务器技术的增长情况。38%的组织当前在使用无服务器技术(上期同类型数据为31%)。其中32%是采用支持平台,6%是采用安装的软件实现。 与上期数据的41%相比,仍有37%的受访者没有采用无服务器技术,但有另外的26%的受访者表示将在未来的12-18个月内计划采用。 选用最多的可安装的无服务器平台有:
-
Kubeless:42%,上期数据2%
-
Apache OpenWhisk:25%,上期数据12%
-
OpenFaas:20%,上期数据10%
-
AWS Lambda服务:70%
-
Google Cloud Functions:25%,上期数据13%
-
Azure Funcitons:20%,上期数据12%
如何学习更多的技术知识?
对于刚刚涉足云原生项目并期望学习更多相关知识的初学者,以下是受访者学习云原生技术的首要几种方式: 文档 20%的受访者使用文档来学习云原生项目,这也是本次调查引用的首要资源。例如,SIG-Docs帮助维护的大量Kubernetes详细文档。这其中包括了从如何开始使用某个特定功能到以贡献者身份参与项目的最佳方式等等的所有内容。每个CNCF项目在其网站上都有大量的文档,可以点击https://www.cncf.io/projects/获取。 KubeCon + CloudNativeCon 12%的受访者选择参加KubeCon + CloudNativeCon,以了解更多他们正在使用的技术。KubeCon + CloudNativeCon集中了所有CNCF项目,并将来自开源云原生社区的技术大咖聚集一堂,以进一步推动原生云计算的发展。这项活动每年在欧洲、中国和北美各举行一次。 CNCF网站和在线研讨会 12%的受访者会访问CNCF网站和参加在线研讨会。CNCF.io是所有云原生项目的一个主要来源,提供包括近期活动、培训、认证、博客等等诸多主题的信息。 CNCF在线研讨会每周二上午10点到11点(PT)举行。您可以查看近期日程[1],并查看往期在线研讨会[2]的录音和幻灯片。 聚会和当地活动 有11%的受访者会通过参加聚会和当地活动来了解云原生技术。CNCF在我们会员体系下主办了149个聚会,活动遍布33个国家,涉及会员超过76000人。你可以点击这里[3]查看的你所在地的聚会。 您可以点击这里[4]查看近期CNCF和世界各地云原生社区的活动,包括从会议到路演等等。 推特 10%的受访者通过Twitter获取信息。通过Twitter账号,CNCF发布项目、社区和基金会的新闻。读者可以关注自己所喜欢的云原生项目,点击这里[5]可以找到这些Twitter列表(和相关的社交账户)。 学习云原生技术的途径: 相关链接:
-
https://www.cncf.io/events/?tribe_paged=1&tribe_event_display=list&tribe-bar-search=webinar
-
https://www.cncf.io/community/recorded-events/
-
https://www.meetup.com/pro/cncf/
-
https://www.cncf.io/events/
-
https://twitter.com/CloudNativeFdn