# 扒皮云对象存储：从降本到杀猪

LLMS 索引： [llms.txt](/llms.txt)

---

> [微信公众号](https://mp.weixin.qq.com/s/HathxpQ_KUuqxyrtyCDzWw)

对象存储是云计算的定义性服务，曾被视为云上降本的典范。不幸的是随着硬件的发展，资源云（Cloudflare R2）与开源平替（MinIO）的出现，曾经“物美价廉”的对象存储服务失去了性价比，和EBS一样成为了杀猪盘。我们在《云计算泥石流》系列中已经深入剖析过云上 EC2 算力，EBS 磁盘，RDS 数据库的成本构成，今天我们就来审视一下云服务之锚 —— 对象存储。

[![](featured.webp)](https://mp.weixin.qq.com/s/HathxpQ_KUuqxyrtyCDzWw)

------

## 从降本到杀猪

**对像存储**，又称简单存储服务（Simple Storage Service，缩写为 **S3**，以下用S3代指）， 曾经是云上“物美价廉”的拳头产品。

在十几年前，硬件的价格高昂；能够用一堆几百GB的机械硬盘，三副本搭建可靠的存储服务，并设计实现一套优雅的 HTTP API，还是一件颇有门槛的事情；因此相对于那些“企业级IT”存储方案，物美价廉的 S3 显得很有吸引力。

但是计算机硬件这个领域非常特殊 —— 有着一个价格每两年减半的摩尔定律。在 AWS S3 的历史上的确有过几次降价，下面的表格里整理了几次主要降价后的 S3 标准档存储单价，也整理了对应年份企业级 HDD/SSD 的参考单位价格。

|                                                          Date                                                          |    $/GB·月    |  ¥/TB·5年  |    HDD ¥/TB     | SSD ¥/TB |
|:----------------------------------------------------------------------------------------------------------------------:|:------------:|:---------:|:---------------:|:--------:|
|                               [2006](https://aws.amazon.com/cn/blogs/aws/amazon_s3/).03                                |    0.150     |   63000   |      2800       |          |
|          [2010](http://aws.typepad.com/aws/2010/11/what-can-i-say-another-amazon-s3-price-reduction.html).11           |    0.140     |   58800   |      1680       |          |
|              [2012](http://aws.typepad.com/aws/2012/11/amazon-s3-price-reduction-december-1-2012.html).12              |    0.095     |   39900   |       420       |  15400   |
| [2014](http://aws.typepad.com/aws/2014/03/aws-price-reduction-42-ec2-s3-rds-elasticache-and-elastic-mapreduce.html).04 |    0.030     |   12600   |       371       |   9051   |
|             [2016](https://aws.amazon.com/ru/blogs/aws/aws-storage-update-s3-glacier-price-reductions/).12             |    0.023     |   9660    |       245       |   3766   |
|                                    [2023](https://aws.amazon.com/cn/s3/pricing).12                                     |    0.023     |   9660    |       105       |   280    |
|                                                                                                                        |              |           |                 |          |
|                                                       **其他参考价**                                                        |  **高性能存储**   | **顶配底折价** | **与采购NVMe SSD** | **价格参考** |
|                                                       S3 Express                                                       |    0.160     |   67200   |     DHH 12T     |   1400   |
|                                                        EBS io2                                                         | 0.125 + IOPS |  114000   |  Shannon 3.2T   |   900    |

不难看出，S3 标准档的单价从 2006 年的 **0.15 $/GB·月** 到 2023 年的 **0.023 $/GB·月** ，降到原来的 **15%**，便宜了 **6** 倍，听上去不错；然而当你考虑到 S3 底层 HDD 的价格从降到原来的 **3.7%** ，便宜了整整 **26** 倍时，就能发现这里面的猫腻了。

**S3 的资源溢价倍数从 2006 年的 7 倍增长到了当下的 30 倍！**

在2023年当下，当我们重新进行成本核算时，不难看出 S3 / EBS 这类存储服务的性价比早已今非昔比 —— 云上的算力 EC2 相比自建服务器有着 5 ～ 10 倍的溢价，而云上的块存储 EBS 相对本地SSD有着几十倍到一两百倍的溢价。云上的 S3 相对普通HDD也有着三十倍左右的资源溢价。而作为云服务之锚的 S3 / EBS / EC2 价格，又会传导到几乎所有的云服务上去 —— 这让云服务的性价比彻底丧失吸引力。

这里的核心问题是：**硬件资源的价格随着摩尔定律以指数规律下降，但节省的成本并没有穿透云厂商这个中间层，传导到终端用户的服务价格上**。 **逆水行舟，不进则退，降价速度跟不上摩尔定律就是其实就是变相涨价**。以S3为例，在过去十几年里，云厂商S3虽然名义上降价6倍，但硬件资源却便宜了 26 倍，所以这个价格又该怎么说呢？

------

## 成本、性能、吞吐

尽管云服务有着高昂的溢价，但如果它是不可替代的 **最优选**，那么即使溢价高性价比低，也不影响价格钝感的高价值头部客户使用。然而不仅仅是成本，存储硬件的性能也遵循摩尔定律，随着时间累积，自建S3的性能也开始出现显著优势。

S3 的性能主要体现在 **吞吐** 量上，AWS S3 的 100 Gb/s 网络提供了高达 12.5 GB/s 的访问带宽，这一点确实值得称道。这样的吞吐量放在十年前毫无疑问是让人震撼的，然而在今天，一块两万块不到的企业级 12 TB NVMe SSD ，单卡就可以达到 14 GB/s 的读写带宽，100Gb的交换机和网卡也已经非常普及，想做到这一点并不复杂。

在另一个关键性能指标“延迟”上，S3也被本地磁盘吊打。S3 标准档的[首字节延迟相当拉垮](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html)，根据文档说明在  **100～200ms** 百毫秒的范围。当然 AWS 也刚刚在 2023 Re:Invent 上新发布了 “高性能S3” —— **S3 Express One Zone** ，能够达到单毫秒级的延迟，弥补了这个短板。但是和 4K随机读/写延迟 **55µs/9µs** 十微秒量级的NVMe 还是相距甚远。

S3 Express 的毫秒级延迟听上去很不错，但是当我们将其与 NVMe SSD + MinIO 自建对比时，这种“毫秒级”性能就只能自惭形秽了 —— 当代的 NVMe SSD 的4K随机读/写延迟已经达到了 55µs/9µs ，套上一层薄薄的MinIO转发，首字节输出延迟要比 S3 Express 好至少一个数量级。如果用标准档 S3 对比，性能的差距会进一步拉大到三个数量级。

性能的差距仅仅是一方面，更重要的是成本。标准档的 S3 价格自 2016 年至今都没变过，一直是 0.023 \$/GB月，每TB·月的人民币价格是 **161** 元。高级货色 S3 Express One Zone 的价格比标准档高了一个数量级，达到每月·GB **$0.16**，每TB·月的人民币价格为 **1120** 元。作为参考，我们可以引用《[重新拿回计算机硬件的红利](https://mp.weixin.qq.com/s/1OSRcBfd58s0tgZTUZHB9g)》和 《[云盘是不是杀猪盘](https://mp.weixin.qq.com/s/UxjiUBTpb1pRUfGtR9V3ag)》中的数据进行对比：

| **因素** | **本地** **PCI-E NVME SSD**                          | **Aliyun ESSD PL3**                                                                                                                                                                                             | **AWS io2 Block Express**                                                                                                                                           |
|--------|----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 成本     | **14.5 ¥/TB·月** ( 5年均摊 / 3.2T MLC ) 5 年质保，¥3000 零售 | **3200¥/TB·月** （原价 6400¥，包月4000¥） 3年预付整体打5折才有此价格                                                                                                                                                                | **1900 ¥/TB·月** 使用最大规格 65536GB 256K IOPS 最优惠状态                                                                                                                      |
| 容量     | 32TB                                               | 32 TB                                                                                                                                                                                                           | 64 TB                                                                                                                                                               |
| IOPS   | 4K随机读：600K ~ 1.1M 4K随机写 200K ~ 350K                | 4K随机读：最大 1M                                                                                                                                                                                                     | 16K随机IOPS： 256K                                                                                                                                                     |
| 延迟     | 4K随机读：75µs 4K随机写：15µs                              | 4K 随机读： 200µs                                                                                                                                                                                                   | 随机IO：500µs 上下文推断为16K                                                                                                                                                |
| 可靠     | UBER < 1e-18，折合18个9 MTBF: 200万小时 5DWPD，持续三年        | 数据可靠性 9个9 [存储与数据可靠性](https://help.aliyun.com/document_detail/476273.html)                                                                                                                                       | **持久性**：99.999%，5个9 （0.001% 年故障率） [io2 说明](https://aws.amazon.com/cn/blogs/storage/achieve-higher-database-performance-using-amazon-ebs-io2-block-express-volumes/) |
| SLA    | 5年质保 出问题直接换新                                       | [Aliyun RDS SLA](https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201910310944_35008.html?spm=a2c4g.11186623.0.0.270e6e37n8Exh5) 可用性 99.99%: 月费 15% 99%: 月费 30% 95%: 月费 100% | [Amazon RDS SLA](https://d1.awsstatic.com/legal/amazonrdsservice/Amazon-RDS-Service-Level-Agreement-Chinese.pdf) 可用性 99.95%: 月费 15% 99%: 月费 25% 95%: 月费 100%        |

这里本地 NVMe SSD 使用的例子是 Shannon DirectIO G5i 3.2TB MLC颗粒企业级SSD，是我们自己大规模使用的SSD卡。全新拆机零售件价 ¥2788 （闲鱼都有！），按5年60个月折算的每TB·月的人民币价格为 14.5 元。咱们退一步将按浪潮列表价 ¥4388 核算，TB·月价也就是 22.8。如果这个例子还不够，我们可以参考《[是时候放弃云计算吗](https://mp.weixin.qq.com/s/CicctyvV1xk5B-AsKfzPjw)》里面 DHH 下云采购的 12 TB Gen4 NVMe 企业级 SSD，2390\$ 一块，TB·月价也正好是 **23** 块钱。

那么问题就来了，性能好几个数量级的 NVMe SSD，为什么单价比 S3 标准档还要便宜一个数量级（161 vs 23），比 S3 Express 便宜了两个数量级（1120 vs 23 x3 ）？如果我用这样的硬件（就算上三副本） + 开源软件自建一个对象存储服务，是不是可以实现三个数量级的性价比提升？（这还没提 SSD 在可靠性相对于 HDD 的优势）

特别值得一提的，上面对比的还单纯是存储空间的费用，流入流出对象存储的流量费通常也是一笔非常可观的支出，有的档位收费靠的不是存储费用，而是取回流量费。还有 SSD 相对 HDD 可靠性的问题，云上数据自主可控的问题，这里就不再深入展开了。

当然云厂商也会辩解——说我们这个 S3 啊，可不是纯粹的存储硬件资源，而是一个开箱即用的 **服务**。里面还包含了软件的知识产权，人力的维护成本；而自建故障率高，自建更危险，自建运维人力开销大等等等等，可惜，这套说辞放在 2006 年或者 2013 年还可以说得通，放在今天就显得有些滑稽了。

------

## 开源自建对象存储

在十几年前，绝大多数用户都缺乏IT自建能力，S3也没有足够成熟的开源替代品。用户可以容忍接受这样的高科技溢价。然而当各家云厂商、IDC都开始提供对象存储，甚至都出现了开源免费的对象存储方案（MinIO）后，卖方市场变成了买方市场，价值定价逻辑转变为成本定价逻辑后，不降反涨的资源溢价自然就会面临用户的拷问 —— 它到底给我带来了什么额外价值，以至于要收这种巨额费用。

云的倡导者声称，上云相比自建更便宜，更简单，更快捷。对于个人站长，中小互联网企业这些云适用光谱内的用户来说，这么说肯定是没问题的。如果你的数据规模只有几十个GB，或者有一些中小规模的出海业务和CDN需求，我并不会推荐你凑热闹自建什么对象存储，你应该出门左转去 Cloudflare 用 R2 —— 这也许就是最优解。

然而对于真正贡献营收大头的高价值中大规模客户来说，这些价值主张就不一定成立了。如果你主要是在本地存储使用 TB/PB 规模的数据，那么确实应当认真考虑一下自建对象存储服务的成本与收益 —— 现在用开源软件自建已经非常简单、稳定与成熟了。存储服务的可靠性主要取决于磁盘冗余：除了零星的硬盘故障 （HDD AFR 1%，SSD 2～3‰）需要你（请代维服务商）换上备件，并不会有多少额外的负担。

如果说混合了EBS/S3能力的开源 Ceph 还能算有不少运维复杂度，功能也没有完全拉齐；那么完全兼容 S3 的对象存储服务开源替代 **MinIO** 可以说是开箱即用了 —— 一个没有额外依赖的纯二进制，不需要几个配置参数就可以快速拉起，把服务器上的磁盘阵列转变为一个标准的本地 S3 兼容服务，甚至还集成了了 AWS 的 AK/SK/IAM 兼容实现！

从运维管理的角度看，Redis 的运维复杂度比 [**PostgreSQL**](http://mp.weixin.qq.com/s?__biz=MzU5ODAyNTM5Ng==&mid=2247485685&idx=1&sn=688f6d6d0f4128d7f77d710f04ff9024&chksm=fe4b3d2ec93cb438665b7e0d554511674091b2e486a70b8a3eb7e2c7a53681fb9834a08cb3c3&scene=21#wechat_redirect) 低一个数量级，而 MinIO 的运维复杂度又比 [**Redis**](http://mp.weixin.qq.com/s?__biz=MzU5ODAyNTM5Ng==&mid=2247484821&idx=1&sn=56e34b33f37b2555336591ad532ac7e7&chksm=fe4b304ec93cb9589c2bca821e5aaa1034c7dd5b9c580dec4b09ebe3b1ed20bb48df9dfd29ce&scene=21#wechat_redirect) 还要再低一个数量级。它简单到这样一种程度：我一个人可以花个一周不到时间把 MinIO 的部署/监控作为添头放到我们开源的 [**PostgreSQL RDS**](http://mp.weixin.qq.com/s?__biz=MzU5ODAyNTM5Ng==&mid=2247485518&idx=1&sn=3d5f3c753facc829b2300a15df50d237&chksm=fe4b3d95c93cb4833b8e80433cff46a893f939154be60a2a24ee96598f96b32271301abfda1f&scene=21#wechat_redirect) 方案里来，用作可选的中央备份存储仓库。

我在探探时，有几个 MinIO 集群就是这么搭建维护的：放了 **25PB** 数据，可能是国内先前最大规模的 MinIO 部署。用了多少人来维护呢？抽调了一个运维工程师 1/10 不到的工作时间来兼职罢了，而自建整体综合成本在云列表价 0.5 折浮动。实践出真知，如果有人骗你说对象存储自建很难很贵，你确实可以自己动手试试 —— 要不了几个钟头，这些销售 FUD 话术就会不攻自破。

对于对像存储服务来说，云的三点核心价值主张：“**更便宜，更简单，更快捷**” ，**更简单** 这条说不上，**更便宜** 走向了反面，恐怕只剩下最后一点 **更快捷** 了 —— 在这一点上确实没有谁能比过云，你确实可以在云上用1分钟不到在全世界所有区域申请PB级的存储服务，Which is Amazing！只不过你也要为这个鸡肋特权付出几十倍的高昂溢价。

因此对于对像存储服务来说，云的三点核心价值主张：“更便宜，更简单，更快捷” 中，更简单这条说不上，更便宜走向了反面，恐怕只剩下最后一点快捷了 —— 在这一点上确实没有谁能比过云，你确实可以在云上用1分钟不到在全世界所有区域申请PB级的存储服务，Which is Amazing！只不过你也要为这个特权掏十几倍到几十倍的高昂溢价就是了。而对于有一定规模的企业而言，比起翻几番的运营成本来说，等个两周或者多掏点一次性资本投入根本不算个事。

------

## 小结

记得在 2019年4月1日，国内增值税正式从 16% 下调到 13% ，苹果官网随即全面降价，单品最高降价幅度达8% —— iPhone的几个典型产品都降了500元，把税点返还给了用户。但也有许多厂商选择装聋作哑维持原价，自己吃下这个福利 —— 白花花的银子怎么能随便散给别人呢？

类似的事情就发生在云计算领域 —— **硬件成本的指数下降，并没有在云厂商的服务价格上充分反映出来，而这一点，让公有云逐渐从普惠基础设施变成了垄断集中杀猪盘**。

然而事情正在起变化，硬件重新变得有趣起来，而云厂商没有办法把这部分红利永远掩藏遮盖下去 —— **聪明的人开始计算数字，勇敢的人已经采取行动** 。像马斯克和 [**DHH**](/cloud/odyssey/) 。越来越多的人会同样意识到这一点，追随先驱者做出明智的选择，拿回属于自己的硬件红利。

### References

`[1]` 2006: *https://aws.amazon.com/cn/blogs/aws/amazon_s3/*

`[2]` 2010: *http://aws.typepad.com/aws/2010/11/what-can-i-say-another-amazon-s3-price-reduction.html*

`[3]` 2012: *http://aws.typepad.com/aws/2012/11/amazon-s3-price-reduction-december-1-2012.html*

`[4]` 2014: *http://aws.typepad.com/aws/2014/03/aws-price-reduction-42-ec2-s3-rds-elasticache-and-elastic-mapreduce.html*

`[5]` 2016: *https://aws.amazon.com/ru/blogs/aws/aws-storage-update-s3-glacier-price-reductions/*

`[6]` 2023: *https://aws.amazon.com/cn/s3/pricing*

`[7]` 首字节延迟相当拉垮: *https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html*

`[8]` 存储与数据可靠性: *https://help.aliyun.com/document_detail/476273.html*

`[9]` io2 说明: *https://aws.amazon.com/cn/blogs/storage/achieve-higher-database-performance-using-amazon-ebs-io2-block-express-volumes/*

`[10]` Aliyun RDS SLA: *https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201910310944_35008.html?spm=a2c4g.11186623.0.0.270e6e37n8Exh5*

`[11]` Amazon RDS SLA: *https://d1.awsstatic.com/legal/amazonrdsservice/Amazon-RDS-Service-Level-Agreement-Chinese.pdf*
