来自CNCF年度调查报告:15个非常有趣的云原生趋势
云原生计算基金会于2019年10月公布了它的年度调查结果。在1337名受访者中,37%来自欧洲,38%来自北美,17%来自亚洲。调查对象包括架构师、DevOps经理和后端开发人员。
以下是CNCF年度调查的15个有趣的结论。
1.Kubernetes在生产中的使用量在火速增长
与去年相比,Kubernetes在生产中的使用量大幅度增长。78%的受访者在生产中使用了Kubernetes,相比去年的58%,这是个令人印象深刻的增长。大多数去年在测试Kubernetes的受访者今年都把Kubernetes投入生产环境了,这导致今年处于评估阶段的受访者下降了48%。
CNCF已毕业项目的使用情况:
2.客户在生产中至少运行2到5个Kubernetes集群
43%的受访者提到他们在生产中运行2到5个Kubernetes集群。预计未来几个月这一数字还会继续增长。
Kubernetes集群数量:
3.公有云依然是最受欢迎的,但混合云正蓄势待发
大多数(62%)受访者在公有云中运行他们的工作负载,其余运行在混合云环境中。然而,随着基于Kubernetes的混合云平台的推进,预计明年我们会看到混合云将有一个显著的增长。
基础架构选择:
4.容器正在走向生产环境
根据CNCF的数据显示,84%的受访者在生产中使用容器,较2018年的73%和2016年首次调查的23%有着大幅提升。这源于人们对微服务越来越浓厚的兴趣,容器使用量的大幅增长也就不足为奇了。
2016年以来容器的使用量:
5.大多数受访者使用的是Amazon EKS,其次是GKE和AKS
AWS仍然是运行容器和Kubernetes的首选云,29%的受访者使用Amazon Elastic Kubernetes(EKS)服务。在Kops 17%的用户中,是由Amazon EC2提供的集群,这使AWS成为Kubernetes的顶级云平台。相比之下Google Kubernetes Engine(GKE)也非常接近,28%的受访者使用它作为CaaS服务。Azure Kubernetes Service(AKS)与传统ACS Engine相结合,吸引了大约25%的受访者。
容器编排:
6.开发人员在拥抱容器和原生云方面面临着文化挑战
在开发团队中的文化挑战、安全性、复杂性、人员储备和监控是拥抱云原生技术的五大挑战。
使用云原生所面临的挑战:
7.服务网格(Service Mesh)的早期用户都使用Istio
CNCF在服务网格上引入了一个新的调查类别。只有18%的受访者在生产中使用服务网格,而47%的受访者在评估阶段。Istio是最受欢迎的服务网格平台,其次是Consul。Consul在生产中的使用量更高,因为它支持多样化的使用场景。Consul的很多应用场景是作为键/值数据库,而不是服务网格。
服务网格:
8.使用公有云中的块存储作为存储引擎
随着有状态(Stateful)工作负载在Kubernetes上成为主角,存储成为一个关键环节。考虑到大多数的工作负载都是在公有云中运行的,因此,对于在生产环境中的有状态工作负载来说,基于云的块存储服务是受欢迎的后端,这并不稀奇。
存储选择:
9.AWS Lambda是最流行的函数即服务(Functions as a Service – FaaS)平台
虽然与Kubernetes没有直接关系,但客户正在使用基于容器的FaaS。在这方面,AWS Lambda遥遥领先,Google Cloud Functions和Azure Functions分列二、三位。
Serverless托管平台:
10.Knative在基于Kubernetes的无服务器(Serverless)平台中独占鳌头
作为事件驱动的无服务器框架正在吸引更多的云原生开发者。有34%的受访者投票支持Knative,它是最受欢迎的无服务器框架,其次是OpenFaaS、Kubeless和Virtual Kubelet。
Kubernetes上的Serverless:
11.Kubernetes应用程序的包管理器的首选——Helm
Helm被吹捧为Kubernetes的apt-get install。所以说,看到Helm成为Kubernetes最受欢迎的包管理器一点也不奇怪。
包管理器:
12.Nginx是Ingress的领导者
大多数Kubernetes用户使用Nginx和Nginx Plus作为Ingress。Envoy作为一个独立的Ingress也在快速增长。
Ingress使用量:
13.Minikube是最受欢迎的Kubernetes开发环境
是Minikube让开发人员轻松上手Kubernetes。虽然Docker Desktop中嵌入了Kubernetes,但许多开发人员仍然更喜欢Minikube。
Kubernetes开发环境:
14.Prometheus和CoreDNS是发展最快的CNCF项目
在CNCF毕业的项目中,Prometheus和CoreDNS是继Kubernetes之后增长最快的两个项目。当CoreDNS为集群提供DNS服务的同时,Prometheus正在为集群收集和聚集各项指标。
CNCF已毕业项目:
15.etcd数据库是应用最广泛的CNCF孵化项目
Kubernetes集群依赖于存储在内存中的分布式数据库来维护集群状态。当前还处在孵化阶段的etcd项目,几乎在Kubernetes的每个部署中都有它。许多项目和应用都依赖于etcd,因为它占用的空间更小,管理也更简单。