Ruby on Rails 之父David Heinemeier Hansson(以下简称“DHH”)向来立场鲜明,言辞激进,其发言屡屡引起争议。
日前,DHH发布的一篇题为《我们的云退出已经节省了100万美元/年》的文章,再次点燃了技术论坛上的一把火。
一、当“上云”变成坑,不如果断“下云”
今年6月,DHH就高调宣布“我们已经离开云了”。
这里的“我们”指的是Basecamp团队。
Basecamp是37signals公司旗下的一款基于云服务的项目管理软件,上云已有十多年之久。而Basecamp在2020年推出的电子邮箱服务HEY也一直在云端运行。作为Basecamp & HEY 的联合创始人,DHH在去年十月发布了“下云”宣言。
作为资深云用户,Basecamp尝试过亚马逊云、谷歌云,使用过裸虚拟机、Kubernetes,称得上体验过云的大部分功能。但他们最终得出的结论是:
“对于像我们这样增长稳定的中型公司来说,租用IT基础设施大致上是一笔糟糕的交易。在降低复杂性等方面的承诺从未实现。所以我们计划离开。”
不过DHH并未全盘否定云的作用。在他看来,有两种情况,云是更适宜的选择。
其一,当你的应用程序非常简单且流量很低时,可以使用完全托管的服务来减少复杂性。其二,当你的负载波动非常不规律时,谁都无法预判到底是需要10台服务器还是100台服务器的情况下,上云就是更好的选择。
但对Basecamp来说,这两种情况都不适用。在DHH看来,如果继续坚持在云端运行,不但不能发挥云服务的优势,而且还要为某些微小的可能性付出近乎荒谬的溢价。
“就像你明明没有住在地震带的附近,但你花了近四分之一的房价去买了抗震保险。”正如DHH的描述,为某些可能性去花费大的代价,固然不能全盘否定,但总体上还是得不偿失、浪费资源。
以电子邮件服务HEY为例。DHH提到,他们每年为此向亚马逊的数据库(RDS)和搜索(ES)服务支付50多万美元。“你知道在每年50万美元的预算下,可以买多少台超级强大的服务器吗?”
此外,对于某些认为“云能简化运维,更节省人力”的说法,DHH也直接否定了。
“任何认为在云端运行像HEY或Basecamp这样的大型服务很‘简单’的人,都是纸上谈兵。总的来说,我还没有听说过像我们这样规模的组织,仅仅因为迁移到云端,就能实质性地大幅缩减运维团队。”
二、每月的云支出:从18万美元下降到8万美元
具体到执行云退出策略时,总有人说:上云容易下云难。
但在DHH的表述中,这句话对于Basecamp似乎也不适用。
“因为我们花了好几年才进入云端,所以我原本以为,我们也要花好几年才能出来。但是,所有将我们的应用程序容器化并为云做准备的工作实际上使退出变得相对容易。经过六个月的努力,它完成了。”
从云中退出只是策略,能看到实际支出的下降才能证明策略的有效性。在今年6月官宣正式回归本地后,云退出后的效果也逐渐展露。
“我们的云支出(sans-S3)已经下降了60%。从每月18万美元下降至不到8万美元。按年计算,这是整整100万美元的结余。另外,剩余的支出在今年余下的时间里逐渐减少之前,我们在9月份还会迎来另一个大幅下降。”
当然,为了回到本地,Basecamp不得不另外花费50万美元采购了新的服务器来取代云租赁。
DHH认为:“虽然额外的服务器会带来一些额外的成本,但在整体计划中,这些成本都是微不足道的(例如,运维团队保持不变)。通过节余和支出的基本对比,还可以看到,我们在不到6个月的时间里,就可以用每个月省下来的钱来买大宗设备了。”
更重要的是,DHH并不认为Basecamp的案例是个例。如今,云退出后实际产生的效果似乎也印证了他早前的警告——
首先,在企业生命周期的早期,云计算对企业来说是有一席之地的,这样的花费要么微不足道,要么24个月后它们将不复存在的风险很高。
然后,要小心,不要把那些奢侈的云积分当成礼物。这往往是一个钩子,如果你过多地将自己与他们的专有托管服务或无服务器产品捆绑在一起,一旦账单开始飙升,你将很难逃脱。
再者,有些公司的负载波动很大,这种情况下云租赁是有意义的。但如果一年中,你只有三天要用到犁,那么把它放在谷仓的363天就是没有意义的。
最后,大多数老牌公司应该考虑一下所谓上云热潮。哪些是实际起效的,哪些是营销夸大的。因为实践中,云计算可能并不如你预期的那样可以削减复杂性,而且溢价有时也很严重。
三、当我们考虑云时,我们到底在考虑什么?
关于DHH主张的云退出策略,有人支持,也有人反感。
Reddit论坛上,有技术人员认为,云的最大优势是其实不在于节省成本,而在于以下四点:
1、灵活性。如果采用云服务,就不可能出现“我们刚刚订购了大量昂贵的服务器,然后才意识到我们的应用程序无法在它们上面运行”。
2、责任下放。如果备份不起作用,那么你可以起诉云提供商。“在我的公司,托管数据库占所有云成本的一半以上,但没有人质疑这一点,因为我们意识到自托管的风险。”
3、易于使用。每个云提供商都为不同的用例提供了许多解决方案,并且所有这些系统都相互集成。这样可以节省大量时间。
4、安全和保障。许多公司陷入了困境,因为他们的机房被毁、被淹或遭到其他什么意外。使用云服务时,这种可能性要小得多。
也有人认为,上云还是下云,有时并不是单纯的技术架构的问题。
参考资料
https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0
https://world.hey.com/dhh/our-cloud-exit-has-already-yielded-1m-year-in-savings-db358dea
https://world.hey.com/dhh/we-have-left-the-cloud-251760fb
https://www.reddit.com/r/programming/comments/16lqjhf/our_cloud_exit_has_already_yielded_1myear_in/
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721