查看原文
其他

算算过去一年,我们在云上花了多少钱

李鹏 分布式实验室 2023-01-28

本文作者是 37signals 的运维工程师 Fernando Álvarez。37signals 是一家私人控股的网络应用公司,是一个创造简单、专一软件的小团队,其产品可以帮助用户协同工作和组织团队。

去年 10 月,37signals 的联合创始人兼 CTO David Heinemeier Hansson 发布了一篇文章《Why we're leaving the cloud》,引起了广泛讨论。本文主要介绍了 2022 年一年 37signals 在云方面的支出以及 2023 年的计划,下面是译文。

自从去年 10 月我们发布了《Why we're leaving the cloud》之后,我们收到了很多关于我们是如何使用 Amazon Web Services的、我们当前的账单是怎么样的以及成本节省是否能证明我们的决定是合理的等问题。我们很乐意分享我们目前的情况和我们的计划,让我们开始吧。

首先,让我们回顾一下我们的应用程序集合,以及它们的运行情况。我们经营的两个主要产品是 Basecamp 和 HEY,它们正在被积极推荐给新客户。这是迄今为止我们最大的产品,拥有最多的客户和收入。此外,我们还运营着许多传统服务,例如:Basecamp Classic、Basecamp 2、Highrise、Backpack、Campfire、Writeboard,甚至 Ta-da List。这些服务不再出售给新客户,但目前加起来有数万客户、数十万用户,并继续为我们贡献数百万美元的利润。我们打算一直支持这些服务。

并非所有这些应用程序都在云上运行。目前的 Basecamp,也就是我们迄今为止最大的应用程序,以及较早的 Basecamp 2,都几乎完全运行在我们自己的服务器上,包括应用程序、数据库和缓存服务器。只有搜索(OpenSearch)、文件存储(S3)和 CDN 服务(CloudFront)这些服务来自云端。

但 HEY 几乎完全是在云端运行的(除了某些在我们自己的硬件上运行的电子邮件和图像处理服务)。我们为 HEY 使用的 AWS 包括通过 EKS 在 Kubernetes 集群上运行完整的 Rails 应用,通过 Aurora RDS 运行 MySQL 数据库服务器,通过 Elasticache 运行 Redis,以及通过 OpenSearch 进行搜索。此外,我们的其他传统应用程序也在 EKS 上运行,并使用 RDS 数据库。

2022年,我们在所有这些云服务上总共花费了 3,201,564 美元。这相当于每个月 266,797 美元。

对于 HEY 来说,只用于生产工作负载年度账单是 1,066,150 美元(88,846 美元/月)。这一项服务细分如下:


我们在 2022 年为所有应用程序数据库在 RDS 上花费了 473,196 美元(39,433美元/月)。请注意,这不包括当前的 Basecamp 和 Basecamp 2,它们使用我们自己的硬件。因此,其中大部分花在了 HEY 上,总金额为 355,950美元(或29,662美元/月),其余花在其他传统服务上。

对于我们用来托管应用程序搜索集群,以及用于日志记录管道的索引存储的 OpenSearch,我们在 2022 年花费了 519,959美元(43,330 美元/月)。这是我们使用的云服务之一,甚至用于目前的 Basecamp 和 Basecamp 2,大笔支出分布在这两个我们自己的硬件服务以及 HEY 和 Basecamp Classic 之间。

对于 EC2 和 EKS(亚马逊的 Kubernetes 服务),我们在 2022 年总共花费了 759,983 美元(63,331 美元/月)。其中大部分用于 HEY,包括生产和模拟环境,总计 272,359 美元(22,696 美元/月),其余的用于剩余的传统应用。但是,同样,没有用于当前的 Basecamp 或 Basecamp 2。

对于 Elasticache,我们在 2022 年花费了 123,852 美元(10,321 美元/月)。其中最大份额再次被 HEY 占据,它使用这项服务来获得 Redis 支持的缓存。

最后,我们在 S3 上存储了大约 8 PB 的文件,在 2022 的消费高达 907,838 美元(75,653 美元/月)。值得注意的是,此设置使用双区域复制策略,因此我们能够抵御整个 AWS 区域消失,包括所有可用区。为了提供这些文件和其他静态资产,我们在 2022 年花了 66,742 美元(5,562 美元/月)购买 CloudFront CDN 服务。

将这笔庞大的开支降到 320 万美元,需要做大量的工作。运营团队运行着一个细致的成本检查计划,每月报告和跟踪,我们已经签订了关于保留实例和承诺使用的长期协议,作为私人定价协议的一部分。这是一个高度优化的预算方案。

这就是我们 2022 年在云上花费数百万美元的介绍!

到 2023 年,我们希望通过将大量服务和依赖项从云端转移到我们自己的硬件上,来大幅削减这笔费用。我们不运营自己的数据中心,而是与我们在 Deft 的朋友合作,租赁机架空间、带宽、电源和“白手套服务”。就我们的规模而言,这也不便宜,但它远远低于我们在云上的花费。

这也意味着 37signals 的任何人实际上都不会在数据中心周围漫游、架设设备或拉电缆。我们从戴尔订购,直接送到数据中心,然后我们看到服务器显示在线,然后我们就可以开始工作了。

最后,当这一年结束时,我们会回来做另一份报告,说明我们在 2023 年通过把很多东西从云端迁移出来,而成功地节省了多少钱,以及在我们目前为 Basecamp 和 Basecamp 2 使用的两个物理数据中心中,使用我们自己的硬件建立一个替代品的成本是多少。

推荐阅读:


分布式实验室策划的《Kubernetes实战集训营》正式上线了。这门课程通过5天线上培训,4个课后大作业,40天课后辅导,把Kubernetes的60多个重要知识点讲给你,并通过实战让你掌握Kubernetes。培训重实战、重项目、更贴近工作,边学边练,2月25日正式开课。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存