去年10月份,37Signals的联合创始人David Heinemeier Hansson最近写了一篇题为“Why We’re Leaving The Cloud”的文章,这篇逆潮流的文章在国内并没有引起太多的波澜,不过在美国还是引发了较大的反响的。前些年Dropbox也出现过逃离公有云,回归自建数据中心的事件,其主要原因是节约成本。
和Dropbox不同的是,37Signals不仅仅放弃了公有云,还放弃了目前大热的K8S,他们已经回归了自建数据中心的虚拟机和DOCKER容器,放弃了复杂的K8S。这是为什么呢?从这个事件上我们能获得什么样的启示呢?实际上这些问题都值得我们去思考,今天时间有限,我们先从成本上去讨论这个问题,关于37Signals放弃K8S的问题我们明天再谈。
实际上从文章的第一段,我们就可以抓到David的主要观点:“我们已经看到了云提供的所有功能,并尝试了其中的大部分。终于到了得出结论的时候了:对于像我们这样稳定增长的中型公司来说,租用计算机(大部分)是一笔糟糕的交易。承诺降低复杂性的节省从未实现。所以我们正在制定离开的计划”。37Signals的例子是个例,如果某个企业需要参考它,也需要看到其前提条件:稳定增长的中型公司,从成本考虑,使用公有云是不划算的。因为37Signals已经有了十分成熟的业务,其业务发展能够得到比较准确的预测,因此他们的IT容量的规划也相对容易。如果换成一个高峰期并发量是平时的数十倍的企业,使用公有云肯定是能够获得巨大的收益的。实际上这个案例也是公有云厂商经常宣传的例子。
在David的文中,他提出了上云后他并没有享受到云的易维护性,并没有办法将他们的运维团队裁剪掉从而节约成本。因为他们的复杂的架构无法让他们实现这个目标。
37Signals的例子十分有代表性,在海外也有一些云专家对这个案例提出了质疑,认为并不是云本身有问题,而是37Singals使用云的方式存在问题。他们仅仅租用ECS、RDS、ES等IT基础设施,并在此基础之上构建自己的IT系统,这种方式并不是正确的公有云的使用方式。正确的方式并不是租用这些IT基础设施,而是购买完整的云服务。
这个观点在某些程度上也是对的,如果不能购买云服务,仅仅是租赁一些基础设施,那么企业的IT复杂性还是无法得到控制,成本控制也会成为一句空话。但是如果我们要购买云服务的时候,我们会发现,我们根本买不起这些服务。
这是公有云厂商的商业智慧,他们会引诱你去用最不划算的方法使用公有云,因此他们必须把一些企业需要的“服务”的定价做得很高。为什么要这样呢?因为亚马逊可以把服务器的使用年限从4年提高到5年,通过自身的技术和管理能力提升轻松获得更高的利润,也可以通过硬件价格的不断降低而获得更大的运营空间。但是对于服务,很多高级服务,亚马逊也不得不通过大量的人辅助以工具来完成,与企业自营数据中心产生的高安运营成本一样,这个成本并不容易降低。云厂家在拥有ECS、RDS等印钞机的时候,为什么非要去强推不太赚钱的服务呢?引导用户继续购买这些赚大钱的产品才合乎商业逻辑。
实际上正是这个原因导致了37Signals们觉得需要尽快逃离这个天坑,而同时还有大量的中小型企业正在享受公有云服务的成本红利。我们不应该狭隘的用这个案例来给不同的用户,不同的应用场景做背书,而是应该更深的思考其中的内在原因。
在这里也需要给准备上云的朋友提个醒,你的业务特点是什么,你的企业什么时候会进入稳定发展期,可以为你的业务发展比较精准的准备IT资源,而无法从公有云上继续获得节约成本的能力?你可能陷入37Signals一样困境吗?你在上云的同时,是不是也需要为今后离开云做好准备呢?