速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

上云“被坑”十年终放弃,寒冬里第一轮“下云潮”要来了?

  • 2022-10-20
    北京
  • 本文字数:3742 字

    阅读完需:约 12 分钟

上云“被坑”十年终放弃,寒冬里第一轮“下云潮”要来了?

Basecamp 是 37signals 旗下一款流行的基于云服务的项目管理软件,其用户囊括了来自五大洲的 166 个国家的超 75,000 个组织。Basecamp 的上云历程已经超过十年,而且其前两年发布的产品 HEY 也一直在云端运行。不过近日,Basecamp & HEY 联合创始人 David Heinemeier Hansson 发文表示将要“下云”。

 

“我们用过亚马逊云科技、也用过谷歌云,试过裸虚拟机、也体验了 Kubernetes 容器编排。我们知道云能提供哪些功能,其中大部分都有实际应用。现在我们终于得出结论:对于像我们这样一家增长稳定的中型企业来说,租赁基础设施资源总体上看是笔糟糕的买卖。云服务商做出的降低复杂性、控制运营成本等承诺从来就没能实现,所以我们正在筹划脱离云端、重归本地。”

“从未适用于 Basecamp” 

高昂的云成本

 

“云计算在两种极端情况下确实大有裨益,但只有其中一种跟我们有关。”Hansson 解释道,首先是应用程序极其简单且流量很低的情况,这时选择完全托管服务确实能摆脱大部分复杂性要素。

 

Heroku 就是这样起步的,同是 PaaS 提供商的 Render 则证明这条路完全行得通。从零客户到少部分客户,云基础设施既是个良好的起点,也能在一段时期内帮助企业稳稳前行。但随着使用量的增加,账单也会水涨船高,并最终来到某个必须做出改变的时间节点。

 

另一种就是负载波动几乎毫无规律可言。具体来讲,负载运行期间经常出现剧烈震荡或者高耸的峰值,但基准资源需求却只相当于峰值的一小部分。面对这种情况,大家确实不知道该部署 10 台服务器、还是 100 台服务器。于是乎,上云就是最好的选择。

 

“我们在发布 HEY 的时候也属于这种情况。当时,突然有 30 万用户挤在三周之内注册试用我们的服务,这一规模远远大于我们预测的 6 个月 3 万用户。”Hansson 说道。

 

但 Hansson 表示,“这两种情况都不再适用于今天的我们,也从未适用于 Basecamp。所以如果继续坚持在云端运行,我们相当于既用不上云服务的亮点,又要承担几乎荒谬的夸张溢价。这就像明明住得离地震带很远,却要花四分之一的房屋总价买保险一样。如果真能遇上大灾害,那这钱花得确实有道理。可问题是并没有,这完全是在浪费资源。”

 

Hansson 以 HEY 为例解释道,公司每年需要为亚马逊的数据库(RDS)和搜索(ES)服务支付超 50 万美元。“确实,在为成千上万客户处理电子邮件时,肯定得分析和存储大量数据。但结合价格来看,这样的状态还是让我觉得很荒谬。大家知道每年 50 万美元预算能买到多少台功能强大的服务器吗?”

 

“按需计算“并没有更先进

 

“那样你就得自己管理服务器了。云服务多简单,省下的可都是劳动力成本!”面对可能到来的质疑,Hansson 先发制人:这么说的人肯定没尝试过在云端运行 HEY 或者 Basecamp 这类大规模服务。有些环节确实更简单,但有些环节反而更复杂。而且总体来讲,我还没听说过像我们这种体量的组织能单靠上云,就大幅削减自己的运营团队和日常开销。

 

作为经营者,Hansson 表示“云厂商的营销手段确实高明”。讨论的另一方总有话说,比如“你至少不用自己打理那么多基础设施设备”或者“基础设施服务构成你的核心竞争力”之类。面对这些直击灵魂的发问,云似乎再次闪耀起夺目的光芒,让每个考虑运行自有服务器的决策者都像是活在上个时代的老顽固。

 

但 Hansson 也指出,与此同时,亚马逊凭借租赁服务器赚取着惊人的利润。尽管一直在做容量和服务升级,但 AWS 的利润率仍然接近 30%(总营收 62.2 亿美元,利润为 18.5 亿美元)。而且随着该公司表示“计划在未来将服务器的使用寿命由四年延长至五年,并将网络设备的使用寿命由五年延长至六年”,利润比例势必还会进一步上升。

 

“我对亚马逊靠云业务赚钱没有意见,毕竟租计算设备本来就不便宜。只是云服务总喜欢搞一大堆专业术语,比如‘按需计算’,听起来很酷,感觉比‘租计算机’整整领先了一个世纪。但二者好像并没什么本质区别。”

 

Hansson 进一步指出,“而且这不只是成本问题,更关乎我们未来要如何运营整个互联网。令人震惊的是,云计算这一堪称人类社会奇观的产物,居然只能运行在少数几家巨头厂商的基础设施当中。如果 AWS 的某个主区域出现故障,似乎会有近半数网站随之离线。DARPA 当初规划互联网的时候,恐怕也想不到会有这样的结果。”

 

基于以上原因,37signals 觉得有必要带来点不一样的声音。Hansson 表示,Basecamp 多年的商业模式跟自有硬件都能良好协同,业务的增长轨迹也有很好的可预测性。而且即使是用了亚马逊或者谷歌云,也还是得设置专业员工才能操作服务商那边的设备。“相信不只我们,还有很多企业都面临着类似的情况。”

 

“而要想让互联网回归那片成本更低、去中心化度更高的净土之前,我们先得学会从云服务商的那套营销话术中脱离出来。在云计算普及之前,大家都在运行自有服务器,其实连不少号称云优势的功能也完全可以用在本地设施当中。所以千万别被云宣传蒙蔽了双眼,运行自有设施其实没那么可怕。当初我们就是这样一步步走了,才有了如今繁荣兴盛的互联网时代。”Hansson 说道。

 

Hansson 的决定也引发了开发者们的讨论。其中“降低复杂性、控制运营成本等承诺从来就没实现”这一点也戳中了开发者们敏感的神经。

 

“仪表板是一个迷宫,许多非常常见的用例都要求您协调部署多个名称奇怪的产品。当云计算在 10 多年前刚出现时,复杂性是可以被原谅的,但从那时起,确实并没有变得更容易使用。”Reddit 账户名为“50653”的开发者道对某云产品吐槽道,“我不会推荐裸机服务器,但我认为中小型公司应该考虑这个云产品的替代品,其中大多数都更容易使用。”

 

开发者“mwassler”对此表示赞同。“我认为我对这个产品相当了解,有时我用它帮助我所在地区的小公司,我无法告诉你我经常进入某人的仪表盘,他们每个月花费数千美元来托管一些每天收到几千个请求的服务……拥有开发公司的人将他们的登录信息提供给没有经验的开发者,让他们去做任何想做的事情,然后他们进入那里就变得疯狂。我见过有人多年来运行默认大小的实例,但这些实例没有提供流量,某些开发人员只是在某天准备了一些。”

 

还有开发者评论道,“IT 一直存在集中化(入站)和分发(出站)的循环。服务提供商怎么会每 5~10 年卖给你同样的东西呢。”

 

没有“下云”成功的 GitLab

 

实际上,Basecamp 并非第一家想要“下云”的企业。GitLab 在2016年底时候就表示计划要“下云”,不过团队“在收到数百条充满建议和警告的评论和邮件后,最后还是决定将 GitLab.com 保留在云端。

 

GitLab 对存储需求较高,因此当时建了一个 CephFS 集群来解决 NFS 的容量和性能问题。但在将大量项目、用户和 CI 工件加载到 CephFS 上运行一段时间后,GitLab 发现,CephFS 为了正常运行需要非常快速地读写很多东西,因此其对底层基础设施的性能有非常高的要求。如果其中一台主机延迟写入日志,则队列的其余部分将单独等待该操作,整个文件系统将被阻塞。

 

另一方面,CephFS 还遵从 CAP 定理,因此会放弃可用性以换取一致性。如果对系统施加很大压力,那么它会产生热点。例如高负载时,在托管 GitLab CE 存储库的机器集群中,所有读取和写入最终会间出现在同一个位置。GitLab 认为,由于 GitLab 将系统托管在没有 IO 延迟最低 SLA 的云上,这个问题被放大了。

 


GitLab 当时的 OSD 日志延迟

 

GitLab 这一计划发出来后也引发了社区的热烈讨论,大家纷纷就 GitLab 面临的问题进行了探讨,GitLab 首席执行官 Sid Sijbrandij 也认真听取了社区的意见。

 

Sid 还与一位将多家公司从云端带到裸机领域的人士进行了长谈,他得到的建议是:除非绝对需要,否则不要这么做,即使是将自定义为提供托管服务的公司也不应该这样做。正确处理硬件需要的专业知识庞大、昂贵且难以获得,这意味着要雇佣服务器、网络、备份、安全、电力等方面的专家。

 

“这与我们董事会成员看到的其他公司情况相似,上述工作花费了他们 70%的工程量。对我们来说,首要任务是制作一个大多数人自己托管的出色工具。我们不能让托管主导我们的组织。”Sid 表示。

 

最后,GitLab 决定将所有存储分散到多个 NFS 分片(NFS shard),并删除了堆栈中的 CephFS,同时创建了Gitaly,这样就不必依赖 NFS 实现横向扩展,并可以通过缓存来加速 Git 访问。

结束语

 

在过去的五年中,云计算行业蓬勃发展,加上很多企业在疫情之初开始进行数字化转型,云计算更是“风生水起”。但由于市场动荡、对潜在经济衰退的担忧,企业承担着越来越大的财务和运营压力。据悉,苹果公司每月花在亚马逊云计算上的费用就超过了 3000 万美元。

 

因此,在人人都讲降本增效的今天,高昂的云计算成本能否带来同样高的回报也成为企业重要的考量。但现实可能是,云计算可能并未给大多数企业带来想象中的收益。

 

Wanclouds 研究显示,81% 的 IT 管理者表示,随着成本飙升和市场下行,他们的最高管理层已经指示他们要减少或不承担额外的云支出。根据调研结果,39% 的人已经决定将大量的云消耗和高性能工作负载迁移或留在本地,还有 29% 的人表示在 2022 年上半年由于价格贵而更换了公有云厂商。

 

未来,各种各样的压力是否会逼迫企业开始纷纷“下云”?我们对此也将持续关注。

 

参考链接:

https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0

https://about.gitlab.com/blog/2016/11/10/why-choose-bare-metal/?

https://www.infoq.cn/news/mMtEqAXuvF7Weml1GROL

 

2022-10-20 15:0014409

评论 3 条评论

发布
用户头像
说了半天都没说到重点,一派胡言
2022-10-26 09:29 · 北京
回复
用户头像
片面了, 还有一种情况, 就是公有云位于世界各地, 可以方便公司将业务拓展到全球; 另外使用公有云也会容易满足各地的政策法规要求.
2022-10-20 17:14 · 上海
回复
这种世界各地的数据延时和数据中心的挑战是个客观困难
2022-10-25 01:22 · 广东
回复
没有更多了
发现更多内容

一文帮你掌握TDengine的降采样查询+跨时区统计

TDengine

数据库 tdengine 后端

OPPO 图数据库平台建设及业务落地

NebulaGraph

图数据库 知识图谱 图数据库实战 分布式图数据库

模块三作业

Geek_1d37ea

架构训练营

Apache Pulsar 荣获中国开源云联盟「2021 优秀开源项目」

Apache Pulsar

大数据 云原生 开源项目 Apache Pulsar 消息系统 Apache Pulsar 社区

架构实战营模块八作业

Geek_d18264

架构实战营

100G云服务器诞生记

科技热闻

在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

汪子熙

SAP abap CloudFoundry 11月日更

用明道云集成多平台多部门数据,发挥数据分析的力量

明道云

TDSQL首次登上腾讯财报!金融机构核心系统落地实现规模化复制

腾讯云数据库

数据库 tdsql

TDSQL | 多类型数据库统一管理,腾讯云数据库DBhouse工具重磅发布

腾讯云数据库

数据库 tdsql

10行代码,撸一个在线个人简历页面!

老表

Python GitHub Linux web开发 跟老表学云服务器

企业采购管理的这些痛点,如何解决?

低代码小观

企业管理 管理系统 管理工具 采购管理 企业采购管理

ABAP Netweaver和git的快捷方式

汪子熙

SAP Netweaver CloudFoundry 11月日更

校招 C++ 大概学习到什么程度?

博文视点Broadview

作业三总结

Geek_1d37ea

架构训练营

金融级数据库新坐标:腾讯云TDSQL发布全自研新敏态引擎

腾讯云数据库

数据库 tdsql

国家质量基础设施(NQI)一站式综合服务平台开发搭建

电微13828808271

云管理软件哪家好?有哪些功能?咨询电话多少?

行云管家

云计算 云服务 云平台 云资源 云管理

新时代下如何构建TDSQL-C数据库产品

腾讯云数据库

数据库 tdsql

Moment.js 转换 UTC 格式的 2 个小问题

HoneyMoose

智联招聘的Web模块扩展落地方案

智联大前端

组件化 SSR

【Promise 源码学习】第八篇 - 完善 Promise 并通过 promise-aplus-tests 测试

Brave

源码 Promise 11月日更

CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!

小傅哥

Java GitHub 小傅哥 开源社区 代码库

8大原则带你秒懂Happens-Before原则

华为云开发者联盟

线程 并发 Happens-Bfore Java内存

TypeScript 针对 JavaScript 做了什么

HoneyMoose

新机遇,拨开证劵企业生态转型迷雾

大咖说

云计算 阿里云 数字化转型 数字化 企业上云

重点人员动态管控系统开发,智慧公安情报研判系统搭建

电微13828808271

JDK的第三个LTS版本JDK17来了

程序那些事

程序那些事 11月日更 jdk17 java17

MySQL打印死锁日志

Simon

MySQL 死锁

用一个极致简单的场景演练领域建模

神帅

DDD 领域建模

云小课 | DSC:快速识别敏感数据并脱敏

华为云开发者联盟

华为云 识别 数据脱敏 数据安全中心 敏感数据

上云“被坑”十年终放弃,寒冬里第一轮“下云潮”要来了?_文化 & 方法_褚杏娟_InfoQ精选文章