托管Kubernetes服务已经成熟到许多企业将密钥移交给他们集群的地步。在这里,我们确定了该趋势背后的一些主要驱动因素。
将您的Kubernetes集群交给托管服务提供商感觉就像送您的孩子去上大学一样——一开始很可怕,但最终在家周围要做的工作要少得多。
来自三大公共云提供商Amazon WebServices(AWS)、Google Cloud和Microsoft Azure的托管Kubernetes选项或Kubernetes即服务(KaaS)在过去几年中都取得了巨大进步,帮助客户运行和编排他们的容器化工作负载无需了解YAML配置文件的来龙去脉,也不必担心自动缩放、更新和集群管理。
“当企业考虑具有战略意义的事情时,最初的倾向是自己运营。随着时间的推移,随着他们逐渐适应环境,他们意识到这不仅没有给他们带来任何竞争优势,而且供应商更有可能比他们更好地运行它,”以开发人员为中心的分析师的联合创始人斯蒂芬奥格雷迪说坚定的Red Monk。“每家企业都走这条路吗?还没有,但旅行的胃口和方向似乎很明确,”他补充道。
以下是考虑托管Kubernetes服务的六个原因。
降低管理开销
让我们先从显而易见的原因开始。旅游技术公司Amadeus的技术平台和工程高级副总裁SylvainRoy说:“让我们明确一点,工作量减少了。”“它是为我们运营的,这很重要,因为我们面临着拥有运行[Kubernetes]所需的所有人员的挑战。”
同样,建筑公司Strabag的一小部分工程师自2006年以来一直在自己运行容器,在过去四年中过渡到自我管理的开源Docker和Kubernetes设置。现在,该小组正在寻求尽可能多地自动化集群管理,方法是对现有应用程序进行现代化改造并将底层Kubernetes集群的管理交给Google Cloud,或者让开发人员能够在云中或混合设置中运行新应用程序使用Anthos服务,特别是在需要传输某些本地数据时。
Strabag云服务团队负责人MarioKleinasser表示:“旅程是移交适合移交的任务。”
同样,在金融数据巨头彭博社,“当您没有SRE[软件可靠性工程]团队或管理Kubernetes的发布周期的团队时,利用供应商是有意义的,对于那些专注于运行他们的应用程序并且不想管理Kubernetes,”彭博计算基础设施主管Andrey Rybka说。
今天,Bloomberg仍在本地运行其大部分Kubernetes工作负载,但它也开始在适当的情况下使用所有三个主要云供应商来管理工作负载。
您将需要更少的专家
Kubernetes管理技能很难获得且成本高昂,尤其是在您编写自己的YAML配置文件时。如果您有人可以手动调整Kubernetes集群,您可能希望通过将集群管理交给更普通的工作负载,让他们腾出时间来管理您的内部平台或任何特别重要或棘手的工作负载。
Amadeus的Roy说:“为这些技术吸引和留住人并不容易,这显然是一个挑战。”
更好的可靠性
简而言之,大型云供应商通常比您自己更能管理您的Kubernetes集群,因为他们的工程团队规模庞大、客户部署范围广,以及他们对这些部署的底层遥测的访问权限。
“供应商更有可能更好地运行它,”RedMonk的O'Grady说。“供应商拥有遥测和看到所有客户运行它的优势,而不是单个企业只有自己的模型可供使用。”
以Bloomberg为例,它在2015年激动人心的日子里转向了Kubernetes,当时它仍然只是一个alpha版本,一旦必要的持续集成、监控和测试得到证明,它就在2017年投入生产。Rybka说,虽然彭博工程师仍然主要为本地应用程序自行管理Kubernetes集群,但使用托管选项越来越有意义,尤其是“从可靠性的角度来看”,当工作负载在公共云中运行时。
不用担心升级和补丁
对于管理自己的Kubernetes的任何人来说,升级和补丁是最不令人羡慕的两项工作,这就是托管提供商优先考虑将这些任务从您的盘子中移除的原因。
AWS计算服务副总裁DeepakSingh说:“自己修补、更新和管理Kubernetes是一件复杂而复杂的事情,而且是完全没有区别的繁重工作。”
保持云势头
对于推进公共云优先战略的组织而言,采用更多托管服务有助于推动发展势头。
艾玛迪斯最近与微软签署了一项协议来做到这一点。“他们行动迅速,我们希望从中受益,因此我们每次都会考虑使用更多的托管服务,”Roy说。“在我看来,这就是从这种势头中受益的方式。”
现在,供应商正在将他们在Kubernetes最佳实践方面的知识和经验转化为更加自以为是的Kubernetes服务版本,采用简化的路径,如GKEAutopilot。
“有些人会将其视为辅助轮,但我将Autopilot视为安全带,”谷歌首席工程师Kelsey Hightower说。“汽车可以以相同的速度行驶,但默认情况下更安全;这是一种防弹配置。人们总是要求我们提供最佳实践以及他们必须做出哪些决定;Autopilot为他们提供了这些。”
同样,AWS的Singh表示,该公司正在更好地利用所学到的有关大规模运行Kubernetes的知识,并将这种“运营态势构建到EKS中......这使我们作为服务提供商能够将其构建到这些开箱即用的托管服务中”.这是你会看到这种趋势加速的另一个原因。”
然而,这类服务自然会引起对供应商锁定的担忧。“Autopilot更难,因为我记得有人问我一个问题,如果没有人在供应商之间切换,为什么人们会专注于Kubernetes作为中间件层。答案是可以选择说我可以走开,”RedMonk的O'Grady说。“你越依赖特定于供应商的选项,[离开的能力]就会消失,所以这对企业来说是一个更难的选择。”
它仍然是开源的,可移植的
托管提供商必须赢得开源社区和客户的信任,他们希望确保他们使用的Kubernetes发行版尽可能接近普通开源版本,以实现更大的可移植性并避免锁定-在。
“当Kubernetes出来时,人们担心它是一种诱饵和转换,是供应商从开放社区中抢夺土地,并且会演变成开放核心。几乎用了五六年的时间来证明这一点,”谷歌的Hightower说。
同样,AWS的Singh表示,对于一些客户来说,EKS与Kubernetes的开源发行版保持紧密联系很重要,“那里没有会产生差异的奇怪巫术。”AWS最近在GitHub上开源了其EKS发行版,以此证明这一点。
Kubernetes的联合创始人兼VMwareTanzu首席工程师JoeBeda承认,“很难在不谈论锁定的情况下进行这种对话。”他敦促任何做出这些购买决定的人都要适当评估风险。
“你搬走的可能性有多大?如果你这样做,这样做的成本是多少?您需要进行多少代码重写以及多少重新培训?任何进行这些投资的人都需要了解他们的要求、风险和权衡,”贝达说。
就CNCF而言,它运行一项经认证的Kubernetes一致性计划,以确保从一个安装到下一个安装的互操作性,无论认证供应商是谁。
那么,为什么不是每个人都这样做呢?
对于Amadeus和Bloomberg等大型、复杂的组织,可能总会有一些工作负载让您不放心将其交给托管服务提供商,无论是敏感的数据安全问题、棘手的本地依赖关系还是过度保护的平台想要手动调整自己的集群的团队。
“那些想要自我管理部件的人会担心数据平面;他们需要定制或专注于某些领域。他们不介意托管控制平面,”谷歌的Hightower说。
然而现实是,自己操作Kubernetes的所有理由都越来越不令人信服。
RedMonk的O'Grady说:“也许你认为它是一项现有投资,没有人愿意将其作为沉没成本注销,或者存在对一组工作负载或业务的保守组织担忧。”“或者担心你的基础设施中的一部分被认为是战略性的,会离开你的控制。但是当你看到你的同龄人这样做时,那种担忧就会消失,你会看到更多的人意识到好处。”