写点什么

每个月在云上“狂烧”180 万,Ruby On Rails 之父:我们要直接买硬件!

  • 2023-01-18
    北京
  • 本文字数:3904 字

    阅读完需:约 13 分钟

每个月在云上“狂烧”180万,Ruby On Rails 之父:我们要直接买硬件!

2022 年 10 月,运营项目管理平台 Basecamp 背后的 37Signals 公司首席技术官兼 Ruby On Rails 之父 David Heinemeier Hansson 发文表示将要“下云”。近日,37Signals 官博发文总结了自己在 2022 年的云支出情况。

 

这是一个得令人瞩目的云账单,该公司 2022 年在云上的支出费用大约为 320.15 万美元(约合人民币 2170 万元),即每月 26.67 万美元(约合 180 万元人民币)。其中大部分支出(75.99 万美元)花在了 Amazon Web Services 的 EC2 和 EKS 服务。

“恐怖“的云账单

 

现在的 37Signals 主要经营两款产品:Basecamp 和 HEY,这也是他们的核心产品,对应的客户规模和收入水平也是最高的。另外,他们还运行着不少遗留服务,包括 Basecamp Classic、Basecamp 2、Highrise、Backpack、Campfire、Writeboard,甚至是 Ta-da List。这些服务已经不再继续出售,但仍有几万甚至几十万用户在用,利润贡献在数百万美元上下。对此,37Signals 表示“打算永久提供支持,直到互联网不复存在。”

 

上述的不少应用程序并非运行在云端。以规模最大的应用程序 Basecamp 为例,它的最新版本和之前的 Basecamp 2 几乎都运行在 37Signals 的自有服务器上,对应应用本体、数据库和缓存服务器。在这些服务上,只有搜索(OpenSearch)、文件存储(S3)和 CDN 服务(CloudFront)由云端提供。

 

HEY 则基本完全依赖于云服务(除了某些电子邮件和图像处理服务,这部分由其自有硬件支持)。在 HEY 当中,37Signals 通过 AWS EKS 在 Kubernetes 集群上运行完整的 Rails 应用程序,借助 Aurora RDS 建立 MySQL 数据库服务器,在 Elasticache 上运行 Redis,还通过 OpenSearch 实现搜索服务。另外,37Signals 的其他遗留应用程序也都运行在 EKS 上,数据库用的则是 RDS。

 

“2022 年全年,我们的所有云服务总开销为 3,201,564 美元,每月是 266,797 美元。吓不吓人!”37Signals SRE 工程师 Fernando Álvarez 在博文里说道。

 

下面,我们看下 37Signals 的详细开销:

 

  • 单看 HEY,纯用于生产工作负载的全年开销为 106.6 万美元(合每月 8.88 万美元)。这一项服务的成本来源可参考下图:



  • 至于其他各独立服务,37Signals 2022 全年为所有应用程序数据库在 RDS 上花费了约 47.3 万美元(合每月 3.9 万美元)。这还不包括最新的 Basecamp 和较早的 Basecamp 2 版本,它们用的自有硬件。所以其中大部分还是来自 HEY,全年数据库支出为 35.59 万美元(合每月 2.96 万美元),其余部分就是支持其他遗留服务的开销了。

 

  • 至于 OpenSearch,37Signals 主要用来托管应用程序搜索集群和日志记录管道中的索引存储,全年共花掉 51.99 万美元(合每月 4.33 万美元)。Basecamp 和 Basecamp 2 也在使用这项云服务,所以其中大部分成本就来自这两者,外加 HEY 和 Basecamp Classic。

 

  • 亚马逊云科技的 Kubernetes 服务 EC2 和 EKS,在 2022 年内共花掉 75.99 万美元(合每月 6.33 美元)。其中大部分用作 HEY 的生产和登台环境,总计 27.23 万美元(合每月 2.26 万美元),其余的用于其他遗留应用程序。但同样地,Basecamp 和 Basecamp 2 不在其中。

 

  • 37Signals 在 Elasticache 身上花掉了 12.38 万美元(合每月 1.03 万美元)。其中最大占比再次来自 HEY,它要借助这项服务来获取 Redis 支持的缓存。

 

  • 最后,37Signals 在 S3 上存储了约 8 PB 的文件,2022 年内总开销高达 90.78 万美元(合每月 7.56 万美元)。Hansson 透露,这是单笔花费最贵的项目。值得注意的是,37Signals 使用了双区域副本策略来避免 AWS 整个区域及其中各可用区的突发故障。为了交付这些文件和其他静态资产,其 2022 年在 CloudFront CDN 服务身上花掉了 66742 美元(合每月 5562 美元)。

 

实际上,37Signals 为了将巨额支出削减至 320 万美元,做出大量努力。运营团队开展一项审慎的成本核查计划,每月上报并跟踪。公司还通过预留实例和长期使用承诺等方式签订了长期协议,借此享受更低的定价优惠。“但即便如此,我们在 2022 年内还是花掉了如此恐怖的云服务支出!”

 

新的”省钱计划”:购买硬件

 

在新的一年,37Signals 表示,计划把大量服务和依赖项从云端转移到内部硬件上,借此大幅削减这笔费用。但这个公司并不打算亲自运营数据中心,而是与 Deft 合作租赁其机架空间、带宽、供电和托管服务。

 

“虽然按我们的业务规模计算,这样的支出同样不低,但已经远优于公有云上的花费。”Álvarez 说道。

 

虽然还没有详细的账单出来,但 Hansson 在推特上将这一成本与购买戴尔包含 288 个 vCPU 的服务器所需的支出进行了对比:

 

第一组,R6525 有 256GB 内存、3TB NVM、2x10G 网络、2 倍 AMD EPYC 7513。第二组除了是 2x AMD EPYC 7443 之外,其他都相同。所以 288 vCPU、15 TB NVM、1.3TB RAM,3 年每个月只要 1287 美元!

 


37signals 表示,新方案并不会给带来太多额外的运营负担,他们不需要在数据中心架设和部署硬件或者线缆。所有设备都可以从戴尔那边直接订购,发往 Deft 数据中心,等到服务器显示在线后即可直接使用。

 

可以看出,37signals 在“下云”上表现出了非常大的决心。

 

正如 Hansson 当时所说,云计算在两种极端情况下大有裨益:其一是应用程序极其简单且流量很低的情况,这时选择完全托管服务能摆脱大部分复杂性要素;其二是负载波动几乎毫无规律可言、大家不知道该部署多少服务器的情况,这时上云是最好的选择。但如今 37signals 已经不适用于上述两种情况。“Basecamp 多年的商业模式跟自有硬件都能良好协同,业务的增长轨迹也有很好的可预测性。”

 

事实上,虽然近年来云计算加速增长,但企业并没有放弃本地数据中心,很多企业继续依赖传统数据中心来处理其关键任务工作负载。

 

根据Uptime Institute 2022 年的研究,只有 36% 的组织会将关键任务工作负载放入公共云中。虽然这一比例高于 2019 年的 26%,但企业越来越担心公共云服务的可见性和弹性。2022 年,超过四分之一 (26%) 的公司表示,出于此类担忧,他们不会将关键任务工作负载放到公有云上,这一比例高于 2019 年的 22%。

 

企业在延长硬件的使用周期

 

那么,企业总是想要最新、最好的技术来为其数据中心提供动力吗? 实际上并不是。

 

根据 Uptime Institute 的研究,硬件更新周期在普遍延长而非缩短。在其 2020 年数据中心调查中,最常见的更新间隔时间为五年,而 2015 年时为三年。这表明在相对较短的时间内就发生了重大转变。根据Uptime的说法,五年或更长时间的硬件生命周期正在成为常态。

 


是什么推动了这种延长效应?Uptime Institute 表示,数据中心硬件的电源使用效率 (PUE) 的下降削弱了更频繁更新服务器的主要动力。平均 PUE 从 2007 年的 2.5 暴跌至 2014 年的 1.67,但此后改善停滞不前,当前平均 PUA 为 1.55。

 

注:PUE = 数据中心总能耗/IT 设备能耗,其中数据中心总能耗包括 IT 设备能耗和制冷、配电等系统的能耗,其值大于 1,越接近 1 表明非 IT 设备耗能越少,即能效水平越好。

 

随着效率提高的放缓,企业对昂贵的硬件进行更换的经济动机也在放缓。摩尔定律带来的回报越来越少。

 

 

“正是这种每瓦特性能的翻倍,为增加计算能力同时通过硬件更新提高效率提供了重要机会。但在过去五年中,英特尔(以及直接竞争对手 AMD)要保持改进的步伐变得更加困难。这就提出了一个问题:我们是否还能从最近几代和即将到来的几代中央处理器中看到这些改进?否则,硬件更新的理由将被削弱。”

 

Uptime Institute 2020 数据中心报告


PUE 是更新周期延长的因素之一,还有一些其他的因素:

 

  • 硬件即服务:供应商越来越喜欢将他们的硬件产品捆绑在订阅模式中。某种程度上,他们正在响应客户的需求。但当技术格局变化如此之快时,谁愿意锁定所有的资本支出呢?

  • 提高硬件利用率:超大规模(hyperscalers)已经证明商品硬件足以运行工业级工作负载。关键在于应用正确的软件层来充分利用可用硬件。中型和企业 CIO 密切关注着这些发展。

  • 预算限制:新 IT 设备的商业用途总是受到审查,毫无疑问,疫情的发生将优先事项进行了重新排列。随着远程工作成为常态,各种规模的企业都重新审视了对专有硬件的需求。针对云优先工作负载的服务和咨询支出也越来越多。

 

当然,硬件供应商仍然希望缩短硬件升级周期。以戴尔为例,该公司在 2019 年委托Forrester 发布的一份报告中警告说,不及时升级设备会带来机会成本。“老化的基础设施和进展有限的 SDDC(软件定义的数据中心)使用,阻碍了 IT 组织满足业务需求。”

 

但硬件使用者正在主动延长使用周期。比如微软目前在其庞大的数据中心产品组合中运营着 400 万台服务器(并且还在增加)。微软首席财务官 Amy Hood 最近宣布该公司将其服务器的使用寿命延长至六年,而在此之前的更新周期为四年。

 

Hood 表示,通过对软件的投资、服务器和网络设备运营效率的提高以及技术进步,微软能够将其服务器的使用寿命再延长两年。因此,该公司估计 2023 财年第一季度可节省 11 亿美元,整个财政年度总计可节省 37 亿美元。

 

另外,为实现其循环经济实践的承诺,从现在到 2030 年,微软的目标是将其数据中心的电子垃圾通过维修管理、回收再利用等方式降低 90%。这种维修和再利用的趋势不仅会进一步延长硬件更新的时间范围,还将支持二手数据中心设备市场的扩张。

 

结束语

 

在企业不断追求“降本增效”,而云成本不断上升的情况下,“下云”采用传统硬件设备成为一些企业的选择。但真要下云的话,企业需要考虑是否像 37Signals 一样业务可预测、没有意外的流量涌入,同时也要算好自己的账,比如要更换的设备价值多少,如何收回部分投资以抵消升级的前期成本,哪些设备可以在内部重新部署、哪些可以退役等。

 

世界上没有完美的解决方案,企业还是要做好评估后,根据自身业务需要进行选择。

 

参考链接:

https://dev.37signals.com/our-cloud-spend-in-2022/

https://horizontechnology.com/news/data-center-hardware-refresh-cycles/

2023-01-18 14:1612098

评论 2 条评论

发布
用户头像
下云已经在很多企业形成了一种趋势,因为云厂商在服务绑定后变得极其无良,宰熟时有发生!
2023-01-31 10:55 · 北京
回复
处处都被“杀熟”......
2023-01-31 17:17 · 北京
回复
没有更多了
发现更多内容

[模块一作业]

wuli洋

Java Optional 初始为空

HoneyMoose

Nacos源码系列—订阅机制的前因后果(下)

牧小农

源码 nacos

JavaWeb MyBatis

Emperor_LawD

mybatis javaWeb 5月月更

LSM-Tree - LevelDb 源码解析

懒时小窝

Lsm LSM树 LSM-Tree level

架构实战营模块 1 作业

Naoki

架构实战营

Mindmanager2022绿色版本

茶色酒

Mindmanager Mindmanager2022

【刷题第13天】剑指 Offer 06. 从尾到头打印链表

白日梦

5月月更

佬技术总监,是这样优化产线MySQL数据库配置的

梦想橡皮擦

5月月更

SAP Marketing Cloud Contact 模型的导入配置和数据合并原理

汪子熙

Cloud SAP 云产品 5月月更

[ kitex 源码解读 ] 限流

baiyutang

Go 微服务 云原生 5月月更 kitex

(win)C、C++处理文件名称

DS小龙哥

5月月更

架构实战营 - 第 6 期 模块六课后作业

乐邦

「架构实战营」

亚马逊AWS特约评委揭秘FinClip黑客松获胜秘诀

Geek_99967b

hackathon 小程序开发

代码之外:关于校招 Offer 选择的问题

宇宙之一粟

offer 代码之外 5月月更

学生管理系统架构设计

Geek_e8bfe4

ffmpeg命令参数类型

Loken

音视频 5月月更

强化 WordPress 的 11 种有效方法

海拥(haiyong.site)

安全 WordPress 5月月更

【C 语言】指针 Four 之[" * & 的应用"、通过指针交换变量值、指针变量的说明、 指针类型的意义(1)、指针类型的意义(2)]

謓泽

5月月更

Druid 连接池源码阅读 08

石小天

从Flutter浅谈跨平台移动开发框架

Geek_99967b

flutter 移动开发 小程序开发

Spring Boot 输出 Web 请求响应报文

TRAMP

Spring Boot

druid 源码阅读(九)Druid removeAbandoned参数

爱晒太阳的大白

5月月更

设计模式之学习命令模式

乌龟哥哥

5月月更

基于Keras的视觉结算平台构想

工程师日月

人工智能 keras 5月月更

Docker下Java文件上传服务三部曲之一:准备环境

程序员欣宸

Java Docker 5月月更

在FinClip Hackathon中夺冠是一种什么样的体验?

Geek_99967b

hackathon 小程序开发

FinClip SaaS 版本重磅上线,打开全行业技术普惠大门

Geek_99967b

SaaS 小程序容器 小程序开发

Fruity Loops Studio20.9中文版水果软件

茶色酒

FL STUDIO20.9 FL Studio

“易+”开源计划丨基于标准 WebRTC 低延迟直播开源实践

网易智企

WebRTC 低延时

JVM进阶(十四)——初识JAVA 类加载机制

No Silver Bullet

Java 类加载机制 5月月更

每个月在云上“狂烧”180万,Ruby On Rails 之父:我们要直接买硬件!_语言 & 开发_褚杏娟_InfoQ精选文章