CNCF每两年进行一次社区调查以了解云原生技术的采用情况。这是CNCF第六次测量容器管理市场的温度。
关键要点
- 自2017年12月以来,CNCF项目的生产使用量平均增长了200%以上,评估量增长了372%
- 无服务器技术的使用持续增长,自2017年12月以来增长了22%,大多数受访者使用了诸如AWS Lambda的托管平台(70%)
- 云原生技术的三大优点是更快的部署时间、改进的可伸缩性和云可移植性
- 40%来自企业公司(5000+)的受访者在生产中使用Kubernetes
关于调查方法和受访者
这是迄今为止我们收到的最多回复,2400人参与了调查,主要来自北美(40%)和欧洲(36%)的开发者或IT相关角色职位:
- 开发者:49%
- 操作:36%
- IT经理:11%
- 开发经理:14%
大多数受访者来自员工超过5000人的公司,这使得本次调查的结果偏向于CNCF技术在企业中的使用情况。最热门的行业是科技(22%)、软件(22%)、金融服务(9%)和电信(8%)。
这项调查是用英文进行的,我们目前正在进行中文版的调查,结果将于今年晚些时候公布。你可以看到更多的人口统计数据:
应用程序开发环境的变化
在这个最新的调查版本中,我们添加了关于发布的额外问题,以了解更多关于公司如何管理他们的软件开发周期。微服务体系结构的好处之一是具有灵活部署的能力,允许公司根据需要随时减少发布。在微服务之前,典型的发布周期发生的频率要低得多,通常是一年一两次。回答突出了这一点,受访者发布周期的分类分布相当均匀:
- 每周(20%)
- 每月(18%)
- 每日(15%)
- 临时的(14%)
你的发布周期是多少?
这些发行的大多数是自动化的(42%),25%的受访者使用混合发行方法,27%的人使用手动发行。随着自动化发行的增长,管理CI/CD管道的工具也越来越流行,其中Jenkins是领先的工具(70%),其次是Terraform(27%)和定制脚本(26%)。
发布周期是手动的还是自动的?
此外,67%的受访者每天多次提交代码,28%的人每周几次,6%的人每月几次。
至于集群的机器数量(包括VMs,裸金属等),我们开始看到小幅增长,5000+,从我们在2017年12月的上一次调查中14%的比例上升到17%,6-20(从18%下降到16%),21-50(14%),51-100(11%)。
平均来说,你的集群里有多少台机器?
什么云?
我们继续看到公司混合使用本地部署(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月的调查中只有1.2%的人引用了VMware。
容器的增长
73%(75%)的受访者目前正在生产中使用容器,其余27%(25%)计划在未来使用。89%的受访者目前使用容器来验证概念,85%的受访者使用测试和开发(86%)。
贵公司/机构使用的容器的场景:
机构通常运行的容器数量也保持稳定,29%运行的容器少于50个,50%-249个(27%),250-999个(17%),15%运行的容器超过5000个。使用少于50个容器的机构数量略有增加,从2017年12月的23%上升到29%,250-999个的机构数量略有减少(从22%下降到17%)。
你的公司/机构通常运行多少个容器?
在容器管理工具方面,Kubernetes以83%(去年是77%)的受访者引用继续领先,其次是Amazon ECS(从18%上升到24%),Docker Swarm(从17%上升到21%),Shell Scripts(从12%上升到20%)。
贵公司/机构管理容器包括:
Kubernetes
58%的受访者在生产中使用Kubernetes,42%的受访者在评估未来使用。相比之下,40%的企业公司(5000+)在生产中使用Kubernetes。
在生产中,40%的受访者运行2-5个集群、1个集群(22%)、6-10个集群(14%)和50多个集群(从9%上升到13%)。
至于Kubernetes在哪个环境中运行,51%的人使用AWS(从57%下降),在本地服务器(从51%下降到37%),谷歌云平台(从39%下降到32%),微软Azure(从23%下降到20%),OpenStack(从22%下降到16%)和VMware(从1%上升到15%)。下面的图表显示了受访者在哪里运行Kubernetes和他们在哪里部署容器。
Kubernetes环境vs容器环境
对于本地开发,大多数受访者的目标是Minikube(45%)、Docker Kubernetes(39%)和本地Kubernetes安装(30%)等环境。
我们还询问了受访者,他们正在使用哪些工具来管理应用程序的各方面:
包装
包装的首选方法是Helm(68%),其次是托管Kubernetes产品(19%)。
自动缩放
大多数受访者是自动扩展无状态应用程序(64%),其次是Java应用程序(45%)和任务/队列处理应用程序(37%)。那些不使用自动缩放的人要么不知道其功能(21%),要么此时不想自动缩放他们的工作负载(31%)。
入口供应商
引用最多的Kubernetes入口供应商是nginx(从57%上升到64%)、HAProxy(29%)、F5(从11%上升到15%)和Envoy(从9%上升到15%)。
暴露集群外部服务
受访者公开集群外部服务(如internet或其他VM)的第一种方式是通过负载均衡器服务(67%)。其次是L7入口(39%)和与第三方负载均衡器(33%)的集成。
将Kubernetes在具有多个团队的机构提供隔离
受访者使用名称空间(71%)、单独的集群(51%)和只使用标签(15%)分隔Kubernetes中的多个团队。
隔离Kubernetes应用程序
受访者使用名称空间(78%)、单独的集群(50%)和只使用标签(21%)来分隔Kubernetes应用程序。
在生产中使用的云原生
云原生项目有哪些好处?受访者将前三个原因列为:
- 部署时间更快
- 改进了可扩展性
- 云端可移植性
至于生产和评估中使用的云原生项目:
CNCF项目
自上次调查以来,许多CNCF项目的生产使用量大幅增加,如Containerd(从18%上升到45%)、CoreDNS(从7%上升到36%)、Envoy(从4%上升到24%)、Fluentd(从38%上升到57%)、gRPC(从22%上升到45%)、Jaeger(从5%上升到25%)、Linkerd(从3%上升到16%)和OpenTracing(从8%上升到21%)。 自上次调查以来,CNCF项目平均使用率上升超过200%。
评估CNCF项目的受访者数量也跳升,Containerd(从22%上升到55%)、CoreDNS(从14%上升到64%)、Envoy(从26%上升到74%)、Fluentd(从22%上升到43%)、gRPC(从16%上升到55%)、Jaeger(从15%上升到75%)、Linkerd(从15%上升到84%)和OpenTracing(从25%上升到80%)。自上次调查以来,CNCF项目评估平均上升了372%。
刚进入CNCF的项目也获得很高的注意,受访者特别有去评估SPIRE(94%)、TUF(93%)、Open Policy Agent(92%)、Vitess(92%)和SPIFEE(92%)。
使用和部署容器的困难
随着云原生技术改变公司设计和构建应用程序的方式,困难是不可避免的。受访者面临的主要困难是:
- 开放团队的文化变化(41%)
- 复杂性(从35%上升40%)
- 缺乏培训(40%)
- 安全(从43%下降38%)
- 监控(34%下降34%)
- 存储(从41%下降30%)
- 网络(从38%下降30%)
这些重大困难有两个显着的变化。虽然这是我们第一次明确询问开发团队的文化变化,但它被认为是使用和部署容器的头号困难。其次,缺乏培训是调查的新增内容。CNCF在过去一年中对Kubernetes培训进行了大量投资,包括免费和付费课程以及Kubernetes管理员和应用程序开发者的认证,我们会继续托管需要额外培训资源的新项目。
其余的主要困难与我们过去的调查一致,但随着为解决这些问题增加更多资源和工具,百分比将继续下降。
你在使用/部署容器时遇到了哪些困难:
同样有趣的是,随着云原生存储项目的增长,存储和网络的困难正在减少,例如:
- Rook:11%的人使用受访者的生产,而89%(从29%上升)正在评估。
- Minio:27%的受访者正在生产中使用,而73%(从28%上升)正在评估。
- OpenSDS:16%(从7%上升)受访者正在生产中使用,而84%(从14%上升)正在评估。
- REX-Ray:18%的受访者正在生产中使用,而82%的受访者正在评估。
- Openstorage:19%(从31%下降)受访者正在生产中使用,而81%(从36%上升)正在评估。
你的公司/机构使用以下哪些云原生存储项目:
无服务器的增长
在本次调查中,我们还继续跟踪无服务器技术的发展。38%的机构目前使用的无服务器技术,从31%上升,其中32%使用托管平台,6%使用可安装软件。
37%的人没有使用无服务器技术,从41%下降,但另外26%计划在未来12-18个月内使用。
顶级可安装无服务器平台是:
- Kubeless(从2%上升到42%)
- Apache OpenWhisk(从12%上升到25%)
- OpenFaas(从10%上升到20%)
你的机构使用哪些可安装的无服务器平台?
顶级托管无服务器平台是:
- AWS Lambda(70%)
- Google Cloud功能(从13%上升到25%)
- Azure功能(从12%上升到20%)
你的机构使用哪些托管无服务器平台?
随着无服务器项目使用量的增加,人们对无服务器项目CloudEvents也产生了浓厚的兴趣,80%的受访者评估了该项目,21%的受访者在生产中使用它。CloudEvents是由CNCF的无服务器工作组组织的,旨在创建一个规范,以通用的方式描述事件数据。
如何了解更多?
你是刚刚起步,还是想了解更多关于云原生项目的信息?以下是受访者学习云原生技术的主要方式:
文档
20%的受访者使用文档来了解云原生项目,这是本次调查引用的第一学习资源。例如,SIG-Docs可以帮助维护大量详细的Kubernetes文档资源。这包括从如何开始使用特定特性到作为贡献者参与的最佳方式的所有内容。每个CNCF项目在其网站上都有大量的文档,可以在那里找到。
KubeCon + CloudNativeCon
12%的受访者参加了KubeCon + CloudNativeCon,以了解更多他们正在使用的技术。KubeCon + CloudNativeCon将所有CNCF项目集中在一个屋檐下,并将来自开源云原生社区的领先技术专家聚集在一起,以进一步推动云原生计算的发展。这项活动每年在欧洲、中国和北美举行三次。
CNCF网站和网络研讨会
12%的受访者访问CNCF网站并参加网络研讨会以获取更多信息。CNCF.io是所有云原生项目的主要资源,包含各种主题的信息,包括即将到来的活动、培训、认证、博客帖子等等。
CNCF网络研讨会每周二上午10点到11点(太平洋时间)举行。您可以看到即将到来的日程安排,并查看先前网络研讨会的录音和幻灯片。
聚会和本地活动
11%的受访者参加meetup和本地活动来了解云原生技术。CNCF在我们的保护伞下有149个聚会,遍布33个国家,会员超过76000人。你可以在meetup里找到你的本地聚会。
CNCF和本地云社区支持世界各地的活动,从会议到路演。你可以在CNCF.io查看即将举行的活动。
推特
10%的受访者通过Twitter获取信息。CNCF从我们的Twitter处理推出项目、社区和基金会新闻。你还可以关注你最喜欢的云原生项目,在那里可以找到它们的Twitter(和其它社交账户)列表。
你如何了解云原生技术?
请继续关注我们今年晚些时候公布的中国调查结果!
按《阅读原文》可以查阅过往的调查结果。