就其核心而言,云是一项了不起的创新——我不认为我们中的许多人会渴望那种需要几天、几周甚至几个月才能配置一台新服务器的日子。可编程的、即时可访问的基础设施具有如此大的灵活性。它允许我们在“旧世界”中甚至无法想象的新的部署和管理方法。
在云的早期,厂商们非常欢迎它,并专注于云即将成为的新商品:

电力、移动网络和互联网接入都是很棒的商品,推动了如此多的创新,因为它们本身就是商品。这些商品每个人都能买到,(一般来说)转换成本低。这在很大程度上是由于它们是基于普遍同意的官方或事实上的标准。
然而,商品的问题在于,虽然它对消费者和整个社会都有价值,但对提供它的公司来说就不那么重要了,因为竞争不可避免地会降低盈利能力,而且股票市场也没有很好的回报。对比一下AT&T大约7倍的市盈率和亚马逊接近90倍的市盈率就知道了。
虽然最初,云提供的是基本商品化的“基础设施即服务”,但自那以后,它们都在推进只存在于云上的专有服务。甚至,他们还在教育内容上进行了投资,称使用这种专有服务为“最佳实践”。如果你是一名亚马逊认证架构师,你需要知道你应该运行亚马逊Aurora、DynamoDB或RedShift,而不是使用IaaS并在Kubernetes上推出你的数据库。
如果你遵循这条农奴制的道路,你会发现你的供应商拥有所有的权力。它不仅是定价权,而且是由于国际政治或取消文化狂热者的影响而关闭你的业务的权力。
学历史的人可能还记得,当一家年轻的公司——后来被称为甲骨文(Oracle)——挑战IBM时发生了什么。
拉里·埃里森
在早期,它将客户从硬件供应商的锁定中拯救出来,这种锁定来自于蓝色巨人(IBM)事实上的垄断。随着足够多的客户被充分“拯救”(他们对甲骨文的技术有足够深的了解,他们不会去任何地方),甲骨文逐渐成为了一家以强硬著称的公司。业内有句话:“甲骨文没有客户,只有人质。”
如果你选择把自己锁定在高度差异化的专有技术上,你应该期待同样的结果,也许不是明天或明年,但这是不可避免的。作为一个例子,您可以自己检查EC2, RDS和Aurora的区别以及它如何随着时间的推移和新的实例类型的出现而变得越来越大。
还有一点需要考虑——在过去的十年中,云支出(以及云提供商的收入)以两位数的速度增长,因为很多工作负载都转移到了云上。不过,随着我们完成这一举措,云供应商寻求的增长将需要来自向现有客户收取更多费用。
对于大公司来说,这将是一个特别大的问题,因为他们已经基本上锁定了他们选择的云计算,并且被认为要支付赎金,因为他们没有其他选择。处于早期阶段的公司和初创公司将继续受到优待,包括在启动时获得慷慨的免费积分。嘿,毒枭们已经发现了这一点——为了建立最忠实的客户群,你最好免费提供第一剂海洛因。
自由之云
然而,还有另一种方法,就像90年代末拥抱开源一样,它需要走更少的路,投入更多的精力,但它会节省大量的成本,最重要的是可以自由控制基础设施和数据,并可以根据自己的喜好选择云提供商。
这个想法很简单——使用云供应商作为商品基础设施提供商,并使用开源软件进行更高级别的堆栈。
您可能会正确地指出,开源解决方案并不像您从AWS和其他云供应商获得的一组良好集成的服务那样完善。当然,这是真的。如果你已经在这个行业工作了一段时间,它可能会让你想起90年代后期Linux的情况。

我记得在那些年里,我选择Linux作为我正在创建的初创公司的操作系统。我在大公司工作的朋友们都在嘲笑我——与Solaris、HPUX、AIX和Windows NT相比,Linux在可用性和性能方面是如此的不成熟,以至于它几乎是一个玩具。在某种程度上,你甚至不能有超过2GB大小的文件。?
然而,我们都知道这个故事的结局是怎样的——业界聚集在一起,改进了Linux,使其成为一个非常成熟、可扩展和高性能的操作系统,支撑着大多数互联网。
推动许多公司,尤其是初创公司拥抱开源的一个重要因素是2001年的Dot Com崩溃。Linux、Apache、MySQL和PHP (LAMP)并没有神奇地变得比微软或Java堆栈好多少。许多公司再也负担不起它们了,最终不得不使用开源技术,并不断改进它们。
我们过去有Linux,在云时代我们需要更多,我们正在通过Kubernetes和云原生生态系统得到它。
与云相比,云原生生态系统还很年轻,但它正在获得大量投资,并迅速增长。你只需要参加KubeCon / CloudnativeCon看到这个生态系统正在发生变化!你会看到数百家公司以自己的方式进行创新——有时会很混乱,对于如何解决一个特定的问题,通常会有多种选择和多种意见。我们知道,其他长期的方法往往会带来更好的结果,例如,民主虽然效率低下,但往往会战胜独裁。
是的,当然,AWS、GCP、Azure和其他云也有很棒的合作伙伴生态系统,但这是不同的。它从来都不是为问题寻找最佳解决方案,也不是为客户实现最佳结果。相反,这是一个占主导地位的玩家根据自己的商业利益制定游戏规则,而其他人则选择参与或不参与。

通往自由之云之路
因此,假设我已经说服您接受开源,并且将云作为商品使用是一条更好的道路,尽管这可能并不容易。你应该如何拥抱它?
让我们现实一点——在目前的状态下,尽管每年都在取得惊人的进展,但云原生生态系统可能无法为主流云提供强大的解决方案。如果您一直在使用专有云,那么团队可能对专有云方法有更多的了解,因此,需要走出他们的舒适区,接受云原生解决方案。要遵循的实践基本上与帮助开源在数据中心占据主导地位的实践相同:
- 从战略上拥抱云中的开源解决方案,创造激励机制来克服摩擦,并创造只有在开源中真正不可行的东西才使用专有云服务的情况。首先关注新的应用程序——在新的堆栈上构建新软件要比改造旧的堆栈容易得多。
- 支持开源开发人员和供应商进行开发。软件不会自己构建,如果我们想要健壮的、可伸缩的、安全的软件存在,我们就需要共同为软件的开发和维护提供资金。
- 亲自参与开源生态系统。确保开源软件满足您的需求的最好方法就是让它满足您的需求。即使你不能贡献代码,也要贡献bug、想法、文档和内容。
正如开源经常发生的那样,我们有专有的供应商在市场上找出什么是真正有效的,并教育大众新的方法,现在是开源社区在此基础上建立并将自由带入云的时候了。我敢肯定10年后,云将完全不同于今天!




