2018年 Kubernetes 采用情况调查报告

调查背景

Kubernetes今年刚过了四周岁生日,是一项非常年轻的技术,但人们对它的采用速度很快。许多研究已经用数字或图表表明了云原生技术工具的发展趋势,但很少有人深入研究背后哪些因素影响了决策者,大家在使用这些工具的过程中有哪些困难。

因此,Heptio委托第三方公司对各行各业的近400名IT决策者进行了调查,试图了解哪些团队/企业正在转向Kubernetes,过程中遇到了哪些障碍以及他们如何从技术中受益。

本次调查的受访者为378名云原生技术部署和策略的决策者,37%的受访者团队有100-1000名软件开发人员,23%的受访者团队有超过1000名软件开发人员。

Kubernetes采用情况

调查的第一个问题是受访者如何使用Kubernetes。 60%的受访者使用Kubernetes进行容器编排。在明年,这个数据有望增长到65%,而其他编排平台(Docker Swarm,Mesos等)的使用将会减少或保持不变。

对于Kubernetes支持的应用程序类型,有一种常见的误解,即容器只对无状态应用程序有用。但调查结果显示,现在Kubernetes可用于多种应用类型,包括数据密集型分析应用,机器学习应用和物联网应用。

\"\"

Kubernetes也从整体上增加了大家对开源软件的信心。相比闭源软件,受访者更喜欢用开源平台,对于日志和监控也更倾向于使用开源解决方案。而对于负载均衡、存储等解决方案,受访者则更喜欢用闭源方案。

\"\"

生产环境中的Kubernetes

30%的受访者在生产环境中使用Kubernetes。而使用Kubernetes的团队中,有一半是在生产环境中使用的,并且公司规模越大越有可能如此。

\"\"

对于所有在生产环境中使用容器的团队,68%的受访者在使用Kubernetes。这个数字是使用Docker Swarm的两倍。到明年,Kubernetes将可以全面用于生产环境中的工作负载。

多云策略

多云不仅是一种理念,现在已经是常用实践了。三分之二的受访者已经在采用多云策略。采用多云的原因有:能使用更好的功能,增加和云供应商的谈判资本,降低运营成本,提高性能等。

\"\"

采用多云的原因

Kubernetes天然适合多云环境。通过使用新的管理工具来提供通用的操作环境,Kubernetes能允许在公有云或本地部署相同的应用程序。但是云提供商对多云没有什么兴趣,因此在多云环境中成功使用Kubernetes的关键是避免被锁定到单个供应商。

##采用Kubernetes的障碍

Kubernetes这项技术还很年轻,围绕它的生态系统也还在形成过程中。Kubernetes的功能和生态中的多种工具正在逐步演化,但步调却不一致。因此,团队在评估和运行Kubernetes的时候遇到了不同程度的问题。一些痛点包括:早期的设计和部署决定(47%),内部团队对通用技术的统一认识(47%),内部缺少专家资源(45%),在关键任务中保证可靠性(43%),复杂策略的管理(42%)。

看看CNCF的庞大的项目生态就能理解为何为Kubernetes做架构决策很难:项目和工具太多,团队需要指导。

\"\"

采用Kubernetes时需要哪些帮助

对于这个问题,41%的受访者的回答是“架构设计”。架构设计确实对很多团队都造成了困扰,因为对于架构设计有很多要考虑的地方:评估物理和软件基础设施,如何集成新技术,如何以新的方式运维等。排名第二的回答是“部署” ,仅占16%,14%的受访者表示在Kubernetes的日常管理上需要帮助。

\"\"

遇到问题时向谁求助

团队寻求建议的信息源差不多,主要包括编排工具供应商(55%),独立咨询公司(42%),业内同行(54%)和相关论坛(53%)。仅有4%的受访者在部署Kubernetes的时候不需要帮助。这个结果表明,组织在寻求所需帮助时存在一定的问题。

\"\"

谁在驱动Kubernetes的架构决策?受访者的回答有很多,包括架构团队,IT运维团队,SRE,多功能团队,业务线,外部咨询公司等。在很多组织内部,不知道该由谁来承担对Kubernetes的责任。也难怪前面提到的内部团队对通用技术的统一认识是一大痛点。

\"\"

SRE-Ops是新的DevOps趋势

调查结果还显示,大公司更倾向于使用SRE实践。SRE结合了IT运维和软件工程师的角色职责,以确保软件的可靠性和可扩展性。

调查结果显示,采用SRE-Ops做决策的团队占31%,在生产环境中使用Kubernetes时采用了SRE的团队占38%,有1000+开发者,并且采用SRE的团队占48%。

\"\"

最重要的是我们相信,SRE-Ops在必须采用DevOps扩展的环境中很重要。

使用Kubernetes时最需要的能力

大多数人都希望有更好的可视性(visibility),以准确了解Kubernetes足迹中正在发生什么。

具体来说,开发人员超过1000人的团队更希望对集群实时性能有更好的可视性,也更看希望能查看日志审计和检查的历史数据。

无论团队处在Kubernetes部署的哪个阶段,都值得看看Kubernetes生态系统中解决方案,考虑哪些其他功能可以帮助更好地运行Kubernetes。

\"\"

需要的能力:可视性(58%), 简化的集群支持和恢复 (55%), 持续的一致性测试(49%), 一体化支持和排障(49%),查看日志审计和检查的历史数据(45%)

致持观望态度的团队

如果你的团队目前正在评估Kubernetes,这里有一些值得参考的经验。

在生产环境中使用Kubernetes的受访者中,有65%希望对集群实时性能有更好的可视性。而在运维超过1000个容器的团队中,这个需求更强烈(69%)。当容器数量增加,就需要更多的集群。运营的集群越多,对可视性的需求就越强烈。

其次,访问审计日志和检查的历史记录的能力也很重要。在生产环境中运行Kubernetes的受访者中,65%认为这是一项关键能力。 对于这个问题,大多数受访者都认为关键在于标准化或一致性测试以及简单的备份。

调查结果说明了什么

克服多重困难部署Kubernetes值得吗

调查结果表明很明显是值得的。在生产环境中使用Kubernetes的团队更容易获得以下三个好处:缩短软件开发周期,提高资源利用率,使用互补的开源技术

对于很多团队来所,基本导向是在提高资源利用率的同时缩短软件开发周期。Kubernetes及其相关技术和工具能帮你实现这些目标。

\"\"

使用Kubernetes首要好处:使用互补技术,缩短软件开发周期,提高资源利用率。红色表示平均水平,黄色表示在生产中使用Kubernetes的水平

总结

Kubernetes越来越多地在生产环境中使用,围绕Kubernetes的整个生态系统在不断演进,新的工具和解决方案也在持续发布。现在Kubernetes的使用者还在努力解决一些问题,但是长期来说,潜在收益将远远抵消这些困难。

为了推进Kubernetes的发展,核心需求是提高可视性。 此要求体现了上游Kubernetes的重要性 - 建立一个独立于云的平台,以避免云供应商的锁定。这样能确保团队更好地使用一流的开源技术,并在生态系统快速变化发展之时保持最大的灵活性。

如果你正在考虑Kubernetes或在评估/部署过程中,可以从已经在使用Kubernetes的人那里得到有用的建议。使用云原生技术(包括Kubernetes)很难,但对于那些优先考虑软件开发并希望缩短开发周期,更好地利用资源以及获得最佳开源技术的团队来说,显然是值得的。

本文根据Heptio的《The State of Kubernetes 2018》整理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值