Cloud Native相关的应用增长超过了200%

320 阅读14分钟
原文链接: mp.weixin.qq.com

每两年进行一次的CNCF调查洞悉了IT社区对云原生技术应用的认知变化。这已经是CNCF第六次关注调查容器化管理市场的热度。 关键卖点

  1. 自2017年12月以来,CNCF项目在生产环境应用平均增长超过200%,所评估的项目数甚至达到了372%的增长。

  2. 自2017年12月以来,受访者中的大部分都使用了类似AWS Lambda(70%) 的平台服务。这使得无服务器技术的应用不断增长,增幅达到22%。

  3. 云原生技术的3大优势为更快速的部署时间,改善弹性和云可移植性。

  4. 5000员工以上规模的企业受访者中,40%的企业在生产环境中部署了Kubernetes。

调查方法和受访者情况

这是迄今为止收到过最多的调查回复,共有2400人有效参与了调查,受访者主要来自北美(40%)和欧洲(36%)。均为研发人员或IT相关的角色,分布情况如下:
  1. 研发人员:49%

  2. 运维人员:36%

  3. IT经理:11%

  4. 研发经理:14%

大多数受访者都是来自于员工规模超5000人的公司,这使得本次调查的结果更偏向于在企业中CNCF技术项目的使用。参与者排名靠前的行业是科技(22%)、软件(22%)、金融服务(9%)和电信(8%)。 本项调查是用英文进行的,中文版的调查目前还正在进行,结果将于今年晚些时候公布。你可以通过下图了解调查人群的详细统计信息:

应用开发环境的变化

在本次最新版的调查问卷中,我们额外添加了发布方面的问题,以便更深入地了解公司如何管理他们的软件开发周期。微服务架构的好处之一是灵活部署的能力,从而允许公司根据需要尽可能频繁的进行应用发布。在微服务之前,典型的发布管理中,应用发布频率要低得多,通常是一年一两次左右。本次调查中,这一点变化突出,除发布频率外,受访者发布周期的各种发布占比相当均匀:
  1. 每周发布:20%

  2. 每月发布:18%

  3. 每天发布:15%

  4. 临时发布:14%

应用发布频率:

上述的大多数应用发布都是采用自动化处理(42%),使用混合方法发布的受访者占25%,还有27%的受访者使用手动发布。随着自动化发布的增长,管理CI/CD通道的工具也越来越流行,其中Jenkins是标杆性的工具(70%),其次是Terraform(27%)和定制脚本(26%)。 应用发布方式:

此外,在代码检查频率方面,67%的受访者每天多次检查,每周检查几次为28%,每月检查几次的为6%。 至于服务器数量规模(包括VMs,裸机器等),相较于在2017年12月的那次调查数据,我们看到5000+以上规模的受访者有小幅增长, 由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月的调查中,部署于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个理由是:
  • 更快速的部署时间

  • 改善弹性

  • 云可移植性

用于生产环境和评估中的CNCF云原生项目分布情况:

数据显示,许多CNCF项目在生产环境中的使用较我们上一次的调查有显著的提升。例如容器服务由18%升至45%;CoreDNS由7%升至36%;Envoy由4%升至24%;Fluentd由38%升至57%; gRPC由18%升至45%;Jaeger由5%升至25%,Linkerd由3%升至16%,以及OpenTracing由8%升至21%。就平均值看,CNCF项目在生产环境的应用较上一次调查有200%以上的提升。 受访者正在评估中的CNCF项目数同样较上期调查增长明显。例如容器服务由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%)等,关注比值都非常高。

使用和部署容器的挑战

云原生技术改变了企业设计,构建应用的方式,挑战也是无法避免的。受访者反馈所面临的挑战主要有:
  1. 研发团队的文化转变:41%

  2. 复杂度:由35%提高到40%

  3. 培训不足:40%

  4. 安全性:由43%降到38%

  5. 监控:由38%降到34%

  6. 存储:由41%降到30%

  7. 网络:由38%降到30%

对于这些挑战,有两个显著的变化。首先,本次调查,虽然这是我们第一次明确询问开发团队的文化变化,但它却被认为是使用和部署容器中的最大挑战。其次,缺乏培训是问卷选项以外的挑战。尽管CNCF在过去的一年里在Kubernetes培训上进行了重度投入,措施包括免费和付费课程,以及为Kubernetes管理员和应用程序开发人员提供认证。因此,随着项目的发展,我们将继续投入更多的培训资源开展新项目。 其余的主要挑战与我们过去的调查基本是一致,但是随着有更多的资源和工具用于解决面临的问题,这些选项的被选比例在持续下降。 使用和部署容器所面临的挑战:

同时,有一个有趣的现象是,随着云原生存储项目应用的增长,存储和网络作为挑战的被选比例呈下降趋势。云原生存储项目的应用情况如下:
  1. Rook:生产环境应用的受访者占比11%,正在评估中的受访者占比89%(上期调查29%)。

  2. Minio:生产环境应用的受访者占比27%,正在评估中的受访者占比73%(上期调查28%)。

  3. OpenSDS:生产环境应用的受访者占比16%,正在评估中的受访者占比84%(上期调查分别为7%和14%)。

  4. REX-Ray:生产环境应用的受访者占比18%,正在评估中的受访者占比82%。

  5. Openstorage:生产环境应用的受访者占比19%,正在评估中的受访者占比81%(上期调查分别为31%和36%)。

企业所采用的云原生存储项目类型:

Serverless的增长

在本次调查中,我们仍然持续跟进无服务器技术的增长情况。38%的组织当前在使用无服务器技术(上期同类型数据为31%)。其中32%是采用支持平台,6%是采用安装的软件实现。 与上期数据的41%相比,仍有37%的受访者没有采用无服务器技术,但有另外的26%的受访者表示将在未来的12-18个月内计划采用。 选用最多的可安装的无服务器平台有:
  1. Kubeless:42%,上期数据2%

  2. Apache OpenWhisk:25%,上期数据12%

  3. OpenFaas:20%,上期数据10%

企业组织所采用的无服务器平台分布:

选用最多的公有云无服务器平台是:
  1. AWS Lambda服务:70%

  2. Google Cloud Functions:25%,上期数据13%

  3. Azure Funcitons:20%,上期数据12%

企业组织所采用的公有云无服务器平台分布:

随着无服务器技术的使用增长,受访者对无服务器技术项目CloudEvents表现出了浓厚的兴趣,80%的受访者为我们评估了这个项目,还有21%的人在生产中使用它的技术。CloudEvents是CNCF无服务器工作组所组织的成果,它旨在创建一个以通用的方式描述事件数据的规范。

如何学习更多的技术知识?

对于刚刚涉足云原生项目并期望学习更多相关知识的初学者,以下是受访者学习云原生技术的首要几种方式: 文档 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列表(和相关的社交账户)。 学习云原生技术的途径:

相关链接:
  1. https://www.cncf.io/events/?tribe_paged=1&tribe_event_display=list&tribe-bar-search=webinar

  2. https://www.cncf.io/community/recorded-events/

  3. https://www.meetup.com/pro/cncf/

  4. https://www.cncf.io/events/

  5. https://twitter.com/CloudNativeFdn

原文链接:https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/ Kubernetes实战培训

Kubernetes应用实战培训将于2018年10月12日在深圳开课,3天时间带你系统学习Kubernetes本次培训包括:容器基础、Docker基础、Docker进阶、Kubernetes架构及部署、Kubernetes常用对象、Kubernetes网络、存储、服务发现、Kubernetes的调度和服务质量保证、监控和日志、Helm、项目实践等,点击下方图片查看详情。