亚马逊AWS官方博客

Amazon S3 迎来 15 岁生辰 – 5475 天,100 万亿个对象 – Amazon S3 初心不变

在 15 年前的今天,我在博文中宣布推出 Amazon Simple Storage Service (S3)。在该文中,我明确指出这种服务要通过 API 访问,它面向开发人员,此外还简要介绍了一些关键功能,并分享了定价信息。许多开发者发现了那篇文章,然后就开始使用 S3 API 编写代码来存储和检索对象,剩下的就是我们都知道的历史了!

今天我要很高兴地宣布,S3 存储的对象数量已经超过 100 万亿(1014,也就是 100000000000),而且经常达到峰值,每秒要处理数千万个请求。这几乎相当于全球每一个人在这里存储了 13000 个对象,或者在浩瀚宇宙的大约两万亿个星系中,每个星系都在我们这里存储了 50 个对象(根据这份 2021 年的估计数据)。

简单的开端
回顾那次发布,我们当时做了很多决定,事实已经证明,那些决定是正确的,可以帮助开发者在几分钟内轻松理解并开始使用 S3:

我们从一个简单的概念模型开始:唯一命名的存储桶,可以容纳任意多个对象,每个对象都由一个字符串键标识。最初的 API 也同样简单:创建存储桶、列出所有存储桶、放入对象、获取对象以及放入访问控制列表。这种简单的机制帮助我们避开了“单向门”,给我们留下了根据客户反馈改进 S3 的充足空间。所有这些决定至今仍然有效,在发布会当天编写的代码时至今日仍然可以正常运行。

在讨论了许多不同的定价模式之后(在《Working Backwards》这本书中有详细说明),我们选择了一种跟随成本的定价模式。因为当时 ColinBill 说:

如果实施跟随成本的定价模式,那么如果无论开发人员通过何种方式使用 S3,他们都会以符合自身要求的方式加以使用,并且会努力最大限度地降低成本,这也会降低我们的成本。这样就不会有系统层面的博弈,我们也不必去费心估计难以捉摸的“普通客户”会如何使用 S3 来设定要支付给我们价格。

根据跟随成本的模式,我们多次降低 S3 的每 GB 每月价格,并且还引入了存储类别,这让您可以进一步减少为存储不那么常用的数据(S3 GlacierS3 Glacier Deep Archive)以及可以在必要情况下重建的数据(S3 单区 – 不频繁访问)而支付的费用。我们还增加了 S3 智能分层来监控访问模式,并自动将对象移到适当的存储分层。

通过简单的定价模型,开发者就能够轻松存储所需数量的数据,这件事情无比重要。就像《纽约时报》作家 John Markoff 在 S3 发布不久之后,在 Software Out There 中说过的那样:

Amazon 最近推出了一项名为 S3 的在线存储服务,该服务以每 GB 15 美分的费用提供数据存储服务。这让在互联网上构建新应用程序或服务的程序员不必创建可能成本高企的数据存储系统。

从最初起,S3 就充分考虑到了耐久性。在 2010 年的时候,我解释了 S3 提供的“11 个 9”(99.999999999%) 的耐用性是什么意思。我们从最初起就认识到,硬件、软件和网络故障不可能彻底避免,因此我们在构建 S3 时,力求做到以透明且优雅的方式处理它们。例如,我们会自动使用多个存储阵列、机架、单元和可用区(目前有 77 个并且仍在不断增加)。

我们对安全性作出了同样坚定的承诺,并始终认为安全本应是“头号重要的工作”。 通过下面的列表可以看出,我们坚持完善和改进一系列安全选项和功能,您可以使用这些选项和功能来保护存储在 S3 中的数据。

在我们在发布 S3 后几天,工具、应用程序和站点开始层出不穷。这种情况与我们所希望和预期的情况相符,不过其中许多都是完全出乎我们意料的,看到开发者的奇思妙想总是令人感到欣喜,这一点至今也没有改变。

15 年后的今天,S3 继续为开发者赋能,帮助其注入灵感,让他们专注于创新!

多年历程
经常有人问我,我自己最喜爱哪些服务、哪些发布内容或功能。我是个博爱的人,没那么专情,所以这对我来说真的有点难! 话虽如此,以下是我认为 S3 最重要的部分补充功能:

基本功能版本控制事件通知特色级接入点S3 on Outposts强一致性

存储类别S3 GlacierS3 标准 – 不频繁访问S3 智能分层S3 Glacier Deep Archive

存储管理跨区域复制同区域复制复制时间控制复制到多个目标生命周期政策对象标记存储类别分析清单CloudWatch 指标以及批量操作

安全性阻止公共访问Access AnalyzerMacieGuardDuty对象所有权以及 PrivateLink

数据移动Import/ExportSnowmobileSnowballSnowcone

请务必查阅 S3 15 启动信息图,以更有视觉吸引力、按时间顺序排列的方式了解我们在过去 15 年中的发展历程。

S3 现状
如今,S3 中有 100 多万亿个对象以及几乎难以想象的广泛用例,我们也在不断收到更多功能添加请求。我们将一如既往地悉心聆听客户心声,并尽最大努力满足客户的需求。

我们还会继续分析、审查和改进 S3 实施的每个部分,以提高性能、扩展能力和可靠性。这意味着随着时间的推移,S3(以及每项 AWS 服务)都会不断改进,而且不需要更改 API 变化,也不会因升级而停机。举一个简单的例子,我们最近建立了一种方法,将向 S3 发出 PUT 请求的延迟大幅降低了 0.01% 的延迟(是不是有点难以置信)。虽然这看起来像是一个小小胜利,但实际上意义重大。首先,它避免了客户请求超时并重试的情况。其次,它为我们的开发者提供了一些重要见解,让他们可以借此进一步减少这种情况以及其他情况下的延迟。

本周更多新鲜内容
Pi Week 徽标我的同事们一直在制作精彩有趣的内容,帮助您在 Pi Week 活动期间了解更多有关 S3 的信息。这是一次为期 4 天的免费线上直播活动,让您有机会听取 AWS 领导者和专家谈论 AWS 的历史以及在我们构建和发展 S3 过程中做出的关键决策。其他一些会议则可以为您展示如何在构建现代化、可扩展的应用程序时使用 S3 控制成本并持续优化开支。

Werner Vogels 甚至采访了 S3 的一些高级架构师和主管。以下是我们已经发布的内容(随着视频不断发布,我会每天添加链接):

云基础设施基础 – Mai-Lan Tomsen Bukovec,数据块和对象存储副总裁。

构建可演变的系统 – Mai-Lan Tomsen Bukovec。

加快数据移动 – 存储、自动化和管理副总裁 Bill Vass。

安全本应是头号重要的工作– 安全副总裁 Eric Brandwine。

迈进下一个 15 年
今天我要聊的就是这么多,期待 S3 在未来 15 年内进一步取得增长和发展!

Jeff