Kubernetes是针对云锁定的完美防御,还是一个没有必要的复杂解决方案?
哦,可以肯定,Kubernetes非常流行,当然您需要一个,也许三个! 但是,如果您不停地思考:为什么选择Kubernetes?,那么您会期望很多意见。
IT专业人员引用Kubernetes的主要原因之一是通过确保云之间的可移植性来减少锁定。 从理论上讲,这比在实践中要好。 而且,正如约翰斯顿所说,那些告诉他为云可移植性而选择Kubernetes的人也告诉他,他们没有迁移的计划。
那么,为什么要使用Kubernetes?
容器化锁定!
很多人发现自己登上Kubernetes潮流是因为它很受欢迎。 (“开发者和建筑师之所以要使用它,是因为技术是一个时尚产业,而Kubernetes却很流行,” Orion Edwards说。)尽管如此,詹姆斯·托马森(James Thomason)认为,尽管开发者可能将Kubernetes视为一种“像Google一样运作的方式” ……实际上,除0.001%的用例外,这都是多余的。”
尽管这可能有点夸大其词,但托马森还是有道理。作为一个行业,我们确实倾向于将光泽的新事物远远超出其预期用途。
根据Johnston的说法,许多cto拥护Kubernetes“通常是因为他们不得不这样做”。要么是继承下来的,要么是因为它是他们眼中的下一个大项目(有很多开发者在招人)
为什么遗憾?因为Kubernetes带来了复杂性,这种复杂性是他们最需要的云可移植性工具——低级的Docker容器所没有的。或者简单的shell脚本。事实上,正如约翰斯顿所言,Kubernetes最终“用多种不同的方式把多年来一直在做的事情复杂化了”。
人们对约翰斯顿的“为什么要使用Kubernetes?”的主要回答是避免锁定。 正如丹·塞尔曼(Dan Selman)所见,“这并不总是一种理性的恐惧,但它确实是一种恐惧。” 分析师劳伦斯·赫希特(Lawrence Hecht)表示,“对锁定的恐惧是合理的。 即使你不打算使用退出策略,想要有一个退出策略也是合理的。”
你想要云计算的可移植性来最小化锁定?你可以拥有它。但是您可能不需要Kubernetes即可到达那里。
从Johnston的角度来看,逃避锁定的尝试不应“自动意味着Kubernetes。 我们在虚拟服务器上安装了整体组件,从而实现了可移植性。 我认为我们现在与Kubernetes的可移植性有所降低。”
更多的Kubernetes,更少的可移植性?这是怎么做到的呢?Neal Gompa表示:“有多种方法可以通过巧妙地利用某些Kubernetes API来减少应用程序对这些事情的依赖,但总的来说,使用裸Kubernetes不会免费获得云的可移植性。”
Kubernetes在幕后
即使Kubernetes不会删除现实世界中的锁定,但由于其他原因,它仍然具有价值。一方面,如果开发人员基于Kubernetes,他们将获得宝贵的技能,这些技能可以在不同的雇主之间转移,不管不同的雇主使用的是什么云。
而且, Kubernetes是企业获取基础设施抽象程度的一种好方法,即使不消除锁定,它也可以在服务之间移动时提供帮助。 毕竟,大多数企业都有一个理由选择特定的云,而不是用于基本的计算和存储。
作为一个行业,我们有一种关注技术的趋势,即使供应商正在消除对技术的关注。例如,James Urquhart坚持Kubernetes会赢,但是让每个开发人员都安装和使用它是不可能的。相反,他建议,“[Kubernetes]应该完全隐藏在重要的抽象概念之下。
换句话说,开发人员可能最终会在幕后使用Kubernetes,淹没在没有服务器的产品和类似产品中。但大多数人不必钻研Kubernetes api。
这是否意味着Kubernetes将失败? 不, 当Kubernetes恢复到“隐形管道”的状态时,它将会赢。