一探Kubernetes究竟,优势与挑战并存

2021年6月7日,Kubernetes迎来其诞生七周年的纪念日。Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化,并拥有一个庞大且快速增长的生态系统。随着移动互联网技术的快速更迭,一些技术淡出人们视线的同时新技术不断涌现,开放、平等、协作、共享的开源模式逐渐成为新一代软件的开发模式,今年3月,“开源”首次被明确列入国民经济和社会发展五年规划纲要。Kubernetes作为基于容器的分布式管理系统,也越来越多地被企业投入到生产中。

VMware《2021年Kubernetes状态报告》显示,企业仍在持续进行Kubernetes建设并增加其在生产中的使用。尽管技能与安全方面的挑战依然存在,但随着越来越多的企业机构依靠软件作为与客户交互的主要途径,提高资源利用率和加速软件发布周期已经成为重要优先事项。

报告要点包括:

· 65%的受访者在生产中使用Kubernetes,这其中的78%来自大公司;

· “提高资源利用率”、“简化应用程序更新和维护”,以及“缩短软件发展周期”被评为使用Kubernetes的三大益处;

· “缺乏内部经验和专业知识”仍然是企业在部署Kubernetes时面临的最大挑战;

· 对于42%的受访者来说,“将新技术与现有系统集成”是一个阻碍开发人员工作效率的因素;

· 自行构建并管理自己的Kubernetes平台的企业机构量从2020年的29%下降至今年的18%,但很多发行版和服务的使用量有所上升。

Kubernetes已近成熟

多年来,关于Kubernetes最常见的问题是:有多少应用程序在生产环境中运行?换句话说,人们很好奇Kubernetes使用的成熟度和广度。现在已很少有人会再有Kubernetes是否真实可靠的疑问了,它已经成为生产中运行容器的首选平台,65%的受访者表示其生产环境中的大部分甚至全部容器化应用程序都运行在Kubernetes中。这一数字在2020年为59%,而2018年这个数字还不到三分之一。

拥有超过500名开发人员的公司在此项调查上的数据更高,他们中的78%都更倾向于在生产环境中运行全部或大部分容器化工作负载。

这些数字表明Kubernetes现已成为运行容器的标准,大多数应用程序正转向基于容器的体系架构,Kubernetes几乎就是全新及现代化应用程序的标准。

Kubernetes对于生产的益处

过去一年,疫情改变了每个人的生活重心,全球都在努力应对新冠疫情带来的变化。随着工作和生活的方式的改变,IT部门受到的影响尤其多。例如,便利店需更多地送货上门,这推动了对其网站和应用程序的需求;银行转为非接触式支付,同时支持员工从客户服务中心工作转为远程办公。对于很多企业机构来说,这些转变的紧迫性给IT部门的工作划出了重点,并加速了多年来一直在缓慢推进的数字化转型。一项2020年7月进行的调研发现,67%的IT主管取消了没有直接效益的项目,这是工作优先事项改变的一个标志。

那么,Kubernetes能否满足期待?根据我们最新的调研结果,企业机构组织正从使用Kubernetes中受益。来看看受访者认为的最大益处:

在不洗劫银行或者便利店的情况下,更佳的资源利用率是满足不断扩大需求的关键。企业若想要快速更新业务和运行业务的软件,则需要升级和重新部署应用程序的能力。提高开发人员向应用程序添加功能的速度是适应新业务方式的关键所在。

一家公司除IT以外的管理人员不应该对Kubernetes或任何类型的企业基础架构产生过多顾虑,也许成本超支、因缺一行代码的失控项目偶有出现,以及生产不稳定性着实存在,安全也是一个非常现实的问题。然而,在基础架构方面,“业务获益”更多的是指获得改变业务运行方式的能力。正如今年的调研结果所示,Kubernetes提供了组织亟需的业务上的获益和能力。

Kubernetes的瓶颈

除了益处之外,调研结果还涉及了在部署、管理和使用Kubernetes过程中遇到的常见瓶颈问题,其中值得注意的是开发和运维人员面临的挑战。

开发

尽管使用Kubernetes的许多优势是由开发人员和更广义上的软件开发周期带来的,但也存在着一些问题。很多人可能会认为,阻碍开发人员工作效率的第一大障碍是自助服务自动化的缺乏,即员工经常抱怨的每做一件事都必须提交一次电子流申请。这虽然在调查中排名第二,但也仅有15%的受访者选择了这项。最大的阻碍是“将新技术与现有系统集成”,有42%的受访者选择了这一选项,而在去年的调研中这一数据还是35%。

这不仅与近几年的情况相符,而且也清楚地表明,Kubernetes已经走出了所谓“红极一时”新技术的使用阶段。对现有应用程序和服务实施现代化是大型组织长期关注的问题,这些组织已经存在了几十年,有成千上万的应用需要维护和更新。而且,随着越来越多的应用程序在Kubernetes中产生或迁移至Kubernetes,与这些现有应用程序集成的需求只会不断增加。

换句话说,应用现代化是当前组织亟需进行的最重要的活动之一。事实上,在一项由VMware委托、Forrester Consulting实施的调研中,76%的高级IT领导者表示,他们对旧有应用的投资太多,以至于难以改变。作为受访者之一,一位零售公司的CIO表示:“我们的大多数软件开发都在支持内部旧有功能,不能提供竞争优势,这与我想要的完全背道而驰。”

运维

建立、维护和运行Kubernetes的团队年复一年、一次又一次地在调研中提出同样的问题:缺乏内部经验和专业知识。在许多调研中,这一挑战往往伴随着招聘相关专家的困难。虽然这一问题逐年略有减少,但仍然存在。此外,与任何新技术一样,信任和验证Kubernetes能够满足安全需求和合规性也是一个问题,这也导致许多组织将DevSecOps流程融入到运维中。当对所有这些问题进行综合考虑时,我们能够发现任何一项新技术都有的特性——即使一项技术完整且达到企业级别,人们也需要时间去熟悉和信任它,而这只能来自多年的一手经验和真实的成功案例。

此次最新调研的结果还指明了一种趋势,即团队使用产品化Kubernetes分发,而不是构建、集成和维护自己的Kubernetes堆栈,即所谓的“DIY”方法。当您构建并运行自己的平台时,一定也需不断解决种种问题,这不仅是对一个组织的战略资源的不当利用,而且从长远来看也很少成功。正是因为需要将重点放在交付业务价值上,而不是构建和集成基础架构上,加上随之而来的寻找或开发支持基础架构所需的专业知识带来的困难,使得企业倾向于使用供应商支持的Kubernetes发行版和服务。

从这一点来看,调研结果中选择“使用DIY Kubernetes”的受访者比例显著下降,从2020年的29%降至2021年的18%。也就是说,一些Kubernetes发行版和服务的使用率逐年上升,包括VMware Tanzu。VMware预计,随着供应商产品选项的成熟,以及DIY逐渐跟不上快速变化的上游项目Kubernetes的发展速度,这一趋势也将加快。