多云是最糟糕的做法

2020-08-07 03:03:32

多云(即以完全不可知的方式在多个云提供商之间运行相同的工作负载)绝对是您需要关注的问题-至少,根据两个支持者的说法是这样的:

那些意识到如果你不采用多云技术,他们就不会再卖给你的供应商正在减少。AWS不会构建多云仪表盘,因此VMware(座右铭:“技术债务的发薪日贷款人”)绝对会构建并出售给您一个。

公共云领域的“利基玩家”(Gartner的意思是“糟糕的”),他们意识到,如果你只在一个云提供商身上全力以赴,那绝对不会是他们。

作为这两个支持者中的任何一个,我更感兴趣的是什么对你们公司是正确的。

我将在本文中声明的唯一免责声明是,我在这里谈论的是最佳实践,您应该将其视为“合理的默认值”。如果你有一个深思熟虑的理由,为什么我说的话不适用于你的情况,那么你几乎肯定是正确的。“客户要求”是其中一个原因,“如果这项服务失败,人们实际上会死掉”是另一个原因。换句话说,我称多云是默认应该避免的“最糟糕的做法”。

如果你仔细观察,每一家公司都是一家多云公司。在鸭嘴组这里,我们使用:

在这个前所未有的时代,IBM Model M扣动弹簧键盘来表达对我们家庭的被动攻击性。

这绝不是我要说的。这是很好的商业常识。如果有人建议您在AWS上全力以赴,并暗示这意味着要使用Amazon Chime、WorkDocs和CodeCommit,则该人正在积极尝试破坏您,您应该停止阅读此内容,并立即致电公司安全部门。

相反,我指的是构建可以同样轻松地跨任何云提供商或您自己的数据中心无缝运行的工作负载的想法。(请注意,数据中心和公共云提供商配对在一起被称为“混合”,这是另一篇文章。)。我同意这一设想;这是令人信服的,我会非常喜欢的。

然而,这几乎等同于对您的开发人员说“只需编写无bug的代码”-或者实际上试图找到您的物理模型所规定的应该存在的球头牛。这比看起来难多了。

是的,每个云提供商都可以运行您扔给他们的容器。这就是Kubernetes(一个来自Google的开源项目,以希腊云服务花钱之神的名字命名)带来的承诺。

问题在于,按照最广泛的“云”定义,云提供商只是“一堆磁盘、一些网络和一堆服务器,可以在上面运行容器”;也就是IBM似乎认为它的意思。这些基本的原语无处不在:AWS、Azure、GCP、Oracle Cloud、IBM“Cloud”和您可怕的数据中心。

如果您将所有这些环境视为同一件事,这意味着所有比这些基准原语产品更高级别的附加服务都对您关闭。

负载均衡器在每个云平台上的工作方式不同,因此作为多云意味着您可以使用nginx或HAproxy运行自己的负载均衡器。同样的故事也适用于数据库、监控系统、安全权限模型、任何事件驱动的东西、服务网格、对象存储,哦,天哪,您甚至还没有考虑过遵从性,是吗?

是的,我知道你要说什么:作为一个整体,这个行业已经这样做了很长一段时间;我们并没有神奇地忘记如何自己运营所有这些事情。

我的观点是,当您花费时间配置HAproxy以便在满足正确的条件时将请求路由到正确的容器时,您的一个竞争对手已经配置了一个应用程序负载均衡器来使用三行YAML来实现这一点,并且现在正在着手构建对他们的业务目标真正重要的东西。我们将完全忽略这样一个事实,即托管版本的负载平衡器比您拼凑起来的版本具有更好的可用性、持久性、可靠性和弹性。

你并没有“两全其美”。您正在以牺牲您的云环境为代价来改进您的数据中心。

你要么被锁定在技术选择上(数据库在这里是杀手锏),要么被不太好移植的东西“软”锁定(无论你的云提供商的身份和访问管理是什么,几乎可以肯定的是,它与其他云提供商的不一致),或者是我称之为“买入”的东西。

在这些人中,买入是唯一真正的杀手,巧合的是,除了工程部之外,没有人会考虑这个问题。

换句话说,当您宣布从AWS向Oracle云进行全球迁移时会发生什么情况?首先,你的工程人员中至少有三分之一会辞职,利用他们现有的技能在其他公司更深入地使用的平台上工作。

很难了解一家新提供商的内部和外部情况,以及(最重要的)它将如何失败。更容易深入你已经熟悉的现有生态系统。从员工的角度来看,这也更有价值。公司不想雇佣跨多个提供商的多面手;他们偏向于在某一特定平台上表现出色的专家。如果你看一下招聘广告,直觉上可能不是这样;如果你筛选出薪水高得令人眼花缭乱的工作,就会变得容易理解得多。

直接的结果是,云提供商在季度收益中显示的几乎所有增长都不是来自说服其他云提供商的客户进行转换;而是从数据中心迁入的人员以及净新工作负载的组合。当您(至少在理论上)已经知道数据中心环境的所有细节时,从数据中心迁移到云提供商已经够难的了。从云到云至少要复杂十倍-无论是公司还是员工都不是特别热衷于签约这个特定的痛苦品牌。

“啊!”你可以明智地插话。“如果我有两家云提供商,我可以用其中一家来打败另一家,从而提供更优惠的折扣条件!”

恐怕在大多数情况下都是挥杆和失误。这不是过去大型电信公司糟糕日子里的供应商管理。

每个实质性的云提供商(还有Google Cloud,Zing)都根据支出百分比协商折扣百分比。把你的花费减半会减少你的谈判基础。

但是,让我们暂时假设您是一家拥有令人难以置信的可移植性工作负载的公司(这些工作负载确实存在!)。这实际上可以将工作负载无缝地转移到其他提供商。

每次我们在我们的客户身上看到这种情况发生时,从这种威胁中获得的折扣都比客户仅仅通过承诺更高的消费水平所获得的折扣要小。(请记住,在帮助解决可怕的AWS法案时,我们看到并帮助谈判了大量的大规模云合同!)。

让我非常清楚地说:一个提供商每年900万美元,而三个提供商每人每年300万美元,即使在考虑让这些系统很好地配合使用的昂贵管理和工程开销之前,成本也截然不同,现在您正在以每年300万美元的…为基础谈判折扣。做了三次。说到割下你的鼻子来怨恨你的脸。

此外,无论您选择哪个提供商,一旦云供应商运行您的生产基础设施,他们就不再是您的供应商,而是成为您的合作伙伴-无论您是否希望他们成为您的合作伙伴。敌对关系远不如合作关系富有成效。我并不是建议你把钱放在桌上,而是对你所要的东西要精明一点。

在实践中,云的潜规则是,随着时间的推移,东西会变得更便宜。我们已经看到,每个供应商的每一次价格变化都证明了这一点,唯一的例外是Google Cloud,它完全欺骗了客户-两次。

第一次是谷歌地图API访问增加了14倍。第二次是他们开始对以前免费的GKE集群管理收费。我希望我一发表这篇文章,他们就会第三次这么做,这样我又一次过时了。

因此,我们可以安全地宣布GCP是一种特殊情况,如果您需要的话,您确实想要一个快速撤离计划。

在实践中,我在野外看到的每一个“我们是多云”的故事都意味着“我们80%以上依赖于我们的主要提供商,然后有少量的工作负载给其他提供商。”

您所做的任何选择都会限制您的选择。多云是理想“优柔寡断是灵活性的关键”的体现。问题是,你将花费太多的时间来避免向一家提供商做出承诺,以至于你将花费越来越多的工程劳动来保持你的环境在相对基本的水平上运行,以至于你将难以真正作为一家企业进行创新。

正如本·凯霍(Ben Kehoe)如此雄辩地指出的那样,多云就像牛粪:我们知道它不存在,因为YouTube上没有牛粪视频。在这种情况下,没有任何文章或会议讨论公司谈论其成功的多云战略是否奏效。

要真正阐明这一点,请考虑一下:VMware的整个业务都建立在这种押注获得回报的基础上,而VMworld 2019年的主旨是一家名为Tansu Tees的虚构公司做出了可笑的糟糕技术选择,互换使用一大堆不同的云提供商,而不是使用这些东西的实际客户,因为真正的公司就是不会做出如此糟糕的IT决策。(也许更准确的说法是,他们不会做出如此糟糕的决定,然后在舞台上承认这些决定。)。

如果那些自己受到高度激励来展示多云成功故事的供应商找不到任何人上台谈论这件事,那么这对该模型的可行性有什么启示呢?

如果你和我有任何相似之处,你会阅读这篇文章,相信你是一个特例,上面的限制或警告都不适用,不管怎样,还是要尝试多云。

我只有一个建议:在您全力以赴进入第二个云提供商之前,首先在当前提供商的两个区域中启动主动-主动环境。根据您的理论,由于这些地区之间有完整的服务和API兼容性,这应该是小菜一碟。

做完之后再来找我,我们就会知道这到底有多“简单明了”。

多云是错误的答案。要让我相信这一点,需要的不仅仅是一个虚构的公司的“成功故事”。

随时关注最新的AWS新闻、观点和工具,所有这些都充满爱意地夹杂着一些尖刻的言辞。

我们是互联网上唯一尖酸刻薄的资源,几乎所有的东西都是aws…。我们知道这一点。