多云并不是灵丹妙药,有开源加持的才是

多云往往被吹捧为灵丹妙药,但实际上它带来的弊大于利。一个聪明的多云策略才可能会奏效,而且少不了开源。

不乏排队向你销售多云管理解决方案的供应商,而这些供应商正是那些排队向你出售混合云、私有云和几乎所有跟“云”相关产品的厂商。

这并不是说多云是虚构的。很多组织使用多个云。但对大多数公司来说,这与某种宏大的战略无关,相反,正是缺乏战略才导致运行多个云。或者,正如Gartner所说,公司为不同的工作负载选择不同的云。不管怎样,这带来了额外的成本和复杂性。

多云理论上很好

笔者之前的经历是,一个公司把所有东西几乎完全建立在一个云上,但是后来要把所有的东西都转移到另一个云提供商。听起来很简单,只需在云X上“关闭”开关,在云Y上“打开”开关。

事实并非如此。开发人员是在云X上开发的,因为它有更多的服务和更丰富的功能。当被要求使用云Y构建相同的功能时,他们说:“我们做不到,它没有我们需要的东西。”随着时间的推移,一些功能上的缺陷被云Y填补了,但即使是类似的功能,在云提供商之间的部署也往往不同。事实证明,每一个云都提供各种各样的服务。正如一个深谙Azure的开发者在Google Cloud或AWS上不会有同样的效率。

最终保持云X的运行(甚至扩展使用),同时并行运行cloudy。多年过去了,虽然许多服务最终转移到了云计算,但仍有许多服务保留下来。

正是这段经历让笔者感受到:“供应商通过销售多云来清理环境,而客户却一直被繁复的云策略和天价开支困住。”

多云是“最坏的做法”

这段经历,以及其他一些经历,让笔者赞同达克比尔集团(Duckbill Group)Corey Quinn的看法,他将多云描述为“最差实践”,而不是“最佳实践”。

他提出的构建工作负载可以在任何云提供商或自己的数据中心之间无缝运行的想法非常有说服力。然而,这实际上就像对开发人员说“只编写没有bug的代码”一样,做比说难多了。

因为每一个云都是不同的,有不同的优势和劣势。无服务器也一样,AWS上的无服务器服务与Azure或Google Cloud上的不同。如果你想利用谷歌云上的数据库选择,你猜怎么着?你将无法轻松地将该工作负载移植到任何其他云上。这并不是因为云供应商恶意地锁定你,而是因为它们都在试图构建客户想要使用的有用服务。

同样的情况是,不管你在不同的云上做了多少不同的服务,你都很难把它们的相关数据连根拔起,然后神奇地将这些数据移动到其他云上。Gartner分析师Marco Meinardi对此进行了详细讨论:“在云提供商之间移动应用程序的可能性实际上非常低。一旦部署到某一个供应商中,应用程序往往就停留在那里。这是因为数据湖很难移植,而且成本高昂。”

什么样的应用程序在多云世界中工作?正如分析师Kurt Marko所指出的那样,那些可以高度抽象出来的东西可以让不同的云变得有趣:“对于最简单的应用程序,透明的、不被人察觉的工作负载移动只能在’vanilla‘容器平台上实现。”

开源的作用

笔者不确定多云是不是对大多数工作负载都有意义,但似乎公司可以在开源领域实现它。

如果一家公司想要最大化自由度/工作负载的可移植性,它可以使用社区驱动的开源项目,如PostgreSQL或Kubernetes等。尽管这并不适用于所有事情(无服务器计算的一些构建块已经是开源的,比如一年前的AWS开源Fireracker,而大多数还没有),但是对于一些关键领域,这可行。

例如,使用PostgreSQL构建的企业可以选择在其数据中心内自行管理该数据库,或者在任何云上自行管理,或者使用云提供商管理的PostgreSQL服务之一。开源确保了工作负载具有一定的可移植性,以及促使供应商关于这些工作负载的竞争。

公司已经开始购买这些特定于云的服务,并从中获得真正的价值。这就是为什么多云将与我们同在:不是因为一些宏大的公司战略,而是因为开发者会选择适合他们的。考虑到开发人员喜欢开源,使用更多的开源可能是唯一真正聪明的多云策略。

原文链接:

Why multicloud is bad strategy, but open source can help - TechRepublic

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章