写点什么

云存储哪家强:AWS、Azure、Google、SoftLayer

  • 2016-04-27
  • 本文字数:4689 字

    阅读完需:约 15 分钟

目前市面上最主要的公有云服务供应商包括 AWS、Google Cloud Platform、Microsoft Azure,以及 IBM SoftLayer,他们都提供了云存储服务,具体又该如何选择?

此时必须针对每个应用程序工作负载的具体需求来决定,但考虑因素很多,例如功能、成本、位置、安全与合规、性能、私有云现有数据中心所用的技术,以及签署过的企业协议或折扣价格等。

本文将详细谈谈不同公有云供应商在云存储方面的差异。

云存储的不同类型

大部分云供应商都提供了不同类型的数据存储选项,例如:

  • 对象存储 (Object storage)
  • 块存储 (Block storage)
  • 实例 / 服务器存储("短暂"存储)
  • 归档存储 (Archival storage)
  • 内容交付网络 (CDN)
  • 队列服务 (Queue service)
  • 数据库服务
  • 缓存服务
  • 导入 / 导出服务

本文将重点介绍两种最常用的核心存储服务:对象存储块存储,因为这两种类型几乎是所有公有云服务的用户都会用到的。

对象存储:

AWS Simple Storage Service (S3)

  • 存储抽象:“Bucket”
    • 每个 Bucket 可存储无限数量的对象,每个对象最大 5TB
  • SLA:
    • Standard(标准):
      – 可用性:年均 99.99%
      – 持久性:年均 99.99999999999%(11 个 9)
    • Infrequent(不频繁):
      – 可用性:年均 99.9%
      – 持久性:年均 99.99999999999%(11 个 9)
  • 加密:传输中和存储后
    • 多种加密选项:AWS 控制的密钥,用户控制的密钥

S3 使用“Bucket”描述用于存储对象的存储抽象。每个 Bucket 可保存无限数量的对象,每个对象最大可达到 5TB。S3 分为标准和不频繁两种服务级别:标准级服务可用性为年均 99.99%,持久性为 11 个 9,简单来说,对于标准级 S3 中存储的每 10,000 个对象,每 10,000 年才会丢失一个。

S3 的另一个服务级别 Infrequent access(不频繁访问),99.9% 的可用性略低,持久性同样为 11 个 9。不频繁访问级别定价略低。

这些存储级别都可通过 SSL 和 TLS 加密传输中的数据,同时可加密存储后的数据。此外还可以在客户端自行加密数据,并将加密后的数据上传至 Amazon S3。

Google Cloud Storage

  • 存储抽象:“Bucket”
    • 每个 Bucket 可存储无限数量的对象,每个对象最大 5TB
  • SLA:
    • Standard(标准):月均 99.9%
    • Durable reduced availability(低可用持久,DRA):月均 99.0%
    • 上述两种级别的延迟均为毫秒级。
  • 加密:与 AWS 相同,但目前为 Alpha 测试阶段

Google 的对象存储服务也使用“Bucket”作为抽象,具体局限与 AWS 相同:每个 Bucket 可存储无限数量的对象,每个对象体积上限为 5TB。Google 提供了三种服务级别:标准、低可用持久 (DRA),以及近线(Nearline)。

Google 存储服务的 SLA 按月计算。对于标准级存储,具备月均 99.9% 的持续运行时间保证,对象访问延迟为毫秒级别。对于 DRA,具备月均 99% 的持续运行时间,延迟同样为毫秒级。近线级别的持续运行时间保证与 DRA 同为 99%,但延迟约为 3 秒,这更像是一种归档存储。

默认情况下,Google Cloud Storage 会使用自己的服务器端加密密钥加密传输中和存储后的数据,但也可以在客户端对数据进行加密,随后将加密后的数据写入 Google Cloud Storage。

Azure Storage

  • 存储抽象:“容器”和“Blob”
    • 无限数量的对象,每个存储账户最大 500TB,可使用多个存储账户
  • 服务级别:
    • Locally Redundant Storage(本地冗余存储,LRS),Zone Redundant Storage(区域冗余存储,ZRS),Geographically Redundant Storage(地域冗余存储,GRS)(更加接近于 AWS 和 Google 的服务),Read-Access Geo-Redundant(读取访问地域冗余,RA-GRS)
  • 加密:均通过 Azure Encryption Extensions(在您的虚拟机内运行)加密,可配合 Azure 密钥保管库 (Azure Key Vault) 使用

Azure 存储服务使用“容器”代替“Bucket”,使用“Blob”称呼块存储。Azure 每个容器可存储无限数量的对象,每个存储账户最大容量 500TB,但可同时使用多个存储账户。

Azure 提供了本地冗余 (LRS)、区域冗余 (ZRS)、地域冗余 (GRS),以及读取访问地域冗余 (RA-GRS) 选项。LRS 会在同一数据中心内部多次复制,ZRS 会在同一区域(即同一地理位置的多个数据中心间)多次复制,GRS 会在本地复制的同时复制到距离数百英里之外的辅助数据中心。RA-GRS 为备份数据中心的其他地域冗余副本提供了读取访问的能力。

Azure 存储支持对传输中的数据进行加密,存储后的数据可使用 Azure Encryption Extensions 加密,同时可将密钥存储在 Azure 密钥保管库中。Azure Encryption Extensions 是一种在虚拟机内部运行的工具,需要消耗虚拟机的 CPU 资源。

SoftLayer Object Storage

  • 基于 OpenStack Swift 平台
  • 存储抽象:“容器”
    • 每个容器可存储无限量的对象,每个对象最大 5GB,但可将数据分为多个 Chunk 保存,存储服务可创建清单文件,借此将文件重新拼接到一起。该服务可并行上传 / 下载,因此这个体积局限有些误导用户。
  • 单一服务级别
    • 持久性 99.99999999999%(11 个 9)
  • 可在群集内部复制,但非地域冗余
  • 加密:第三方工具或客户自行实施的工具,非内建

SoftLayer Object Storage 基于 OpenStack Swift 平台,也使用“容器”代表存储抽象。每个容器可支持存储无限数量的对象,每个对象体积最大为 5GB,但可将巨型对象拆分为多个 Chunk 存储,并创建清单文件,这样在下载文件时就可以自动将其重新拼接到一起。

SoftLayer 只提供一个服务级别,持久性包含 11 个 9,可在(本地数据中心)群集内部进行复制,但目前不支持地域复制,也没有内建的加密功能。

块存储

对象存储服务很适合需要以自包含“对象”方式存储并检索数据的场景,如果需要更标准的文件系统配置(并且需要兼容 POSIX),此时更适合使用块存储。

AWS Elastic Block Storage (EBS)

  • 卷容量:1GB 至 16TB(以 1GB 为增量)
  • 卷类型:
    • Magnetic:平均 IOPS 为 100,可迸发至数百 IOPS(主要用于存储 / 快照创建)
    • General Purpos (SSD):3 IOPS/GB,最高 10,000 IOPS。吞吐率限制为 128MB/ 秒,更大型(<170GB)卷最高为 160MB/ 秒
    • Provisioned IOPS (SSD):最高为 20,000 IOPS/ 卷。最大吞吐率为 320MB/ 秒(配合 EBS 优化实例使用时)
  • 可跨越可用性区域 (Availability Zone, AZ) 使用快照,但不可跨地域
  • 所有类型的卷均支持 EBS 加密

EBS 卷体积范围从 1GB 至 16TB,以 1GB 为增量,因此可以逐步获得一个非常大的卷。AWS 提供三种不同类型的卷,分别叫做 Magnetic、General Purpose,以及 Provisioned IOPS。

Magnetic 使用传统机械磁盘,据称该服务平均可实现 100 IOPS,可迸发至数百 IOPS,因此这种类型的卷并不适合高事务量的工作负载,但最适合保存希望存储并创建快照,同时不需要快速访问的数据。

General Purpose 是一种基于 SSD 的存储机制,可为每 GB 数据提供 3 IOPS,最高 10,000 IOPS。例如对于一个 3,334 GB (3.3TB) 的卷,可获得 10,000 IOPS。虽然该类型最高提供 16TB 容量,但 IOPS 的最大值 10,000 封顶,吞吐率范围从 128MB/ 秒至最高 160MB/ 秒。

EBS 的第三种类型为 Provisioned IOPS (PIOPS),这种类型同样基于 SSD。PIOPS 最高 20,000 IOPS/ 卷。如果使用 EBS 优化过的实例,最大吞吐率可进一步增至 320MB/ 秒。

所有 EBS 卷均可创建快照并跨 AZ 使用。举例来说,如果在 US-East-1A 创建一个卷并为其创建快照,随后便可自动在 US-East 的任何区域(US-East-A、B、C、D,和 E)访问该快照,但该快照无法在 US-West 使用。AWS 提供了跨地域复制快照的工具,但复制操作无法自动进行。

所有 EBS 卷均可加密。在创建卷时可以看到加密选项,此时可选择使用 AWS 管理的密钥,或自行管理的密钥。

Google Block Storage (Persistent Disk, “PD”)

  • 卷容量:1GB 至 10TB
  • 卷类型:
    • HDD (标准磁介质存储)。
      – IOPS:最高 3,000 读取 IOPS/15,000 写入 IOPS
      – 吞吐率:180MB/ 秒读取,120MB/ 秒写入
    • SSD
      – IOPS:最高 15,000 IOPS
      – 吞吐率:最高 240MB/ 秒
  • 快照可在区域内所有数据中心使用,但无法跨地域
  • 所有卷上传输中和存储后的数据均被加密

Google 提供了 HDD 和 SSD 这两种类型的卷。HDD 据称最高可实现 3,000 IOPS 读取和 15,000 IOPS 写入,以及 180MB/ 秒读取和 120MB/ 秒写入的吞吐率。SSD 则可实现最高 15,000 IOPS 和高达 240MB/ 秒的吞吐率。

快照可在区域内所有数据中心使用,但无法跨地域。如有必要可自行跨地域复制快照。默认情况下,Google Persistent Disk 会加密对传输中和存储后的数据。

Azure Block Storage

  • 卷容量:1GB 至 1TB
  • 以“Page Blob”形式实施,读写操作要在后端转换为 GET/PUT 操作
  • 卷类型:
    • 标准存储
      – IOPS:500 IOPS/ 直连磁盘
      – 吞吐率:60MB/ 秒
    • 高级存储:基于 SSD(仅适用于 Azure 虚拟机,无法用于其他服务)
      – IOPS:最高 80,000 IOPS
      – 吞吐率:2,000MB/ 秒
  • 快照可跨越区域内多个数据中心复制,并提供了跨地域复制的选项
  • 传输中和存储后的数据均可使用 Azure Encryption Extensions 加密

Azure 卷可提供 1GB 至 1TB 容量,作为一种高端服务,这样的容量实在非常小,但这一局限源自 Azure 后端的实现方式。该服务使用 Page blob 而非 Block blob,可为读写操作创建兼容 POSIX 的文件系统,所执行的 freads 和 fwrites 操作会在后端转换为 GET 和 PUT 操作。这种方法使得 Azure 能够将同一套后端基础结构应用于所有存储服务,但正是因此,卷的大小存在 1TB 的局限。

Azure 提供标准和高级两种类型的卷。对于标准存储,每个直连磁盘可实现 500 IOPS,及大约 60MB/ 秒的吞吐率,这样的性能表现尚可,但并非最优秀的。不过高级存储就相当惊人了,可提供最高 80,000 IOPS 和让人惊叹的 2,000MB/ 秒吞吐率。这是一种基于 SSD 的存储,目前只能用于 Azure 虚拟机,无法将其用于其他 Azure 服务。

Azure 提供了额外的快照选项。快照可跨越同一区域的多个数据中心复制,还可通过 GRS 进行跨地域复制。

所有传输中的数据会被加密,同时也可以通过 Azure Encryption Extensions 加密存储后的数据。

SoftLayer Block Storage

  • 卷容量:20GB 至 12TB
  • 卷类型:
    • Endurance Storage(持久存储):
      – IOPS:每 GB 0.25、2.0,或 4.0 IOPS,最高可实现 48,000 IOPS
    • Performance Storage(性能存储):
      – IOPS:最高 6,000 IOPS。100GB 的卷可支持 6,000 IOPS
      – 相同 IOPS 的速率需要具备 1.5TB 的持久存储
  • 快照可在区域内多个数据中心复制,并提供跨地域复制的选项(仅适用于持久存储)
  • 加密功能需要使用第三方工具和 / 或客户自行实施

SoftLayer Block Storage 可提供容量 20GB 至 12TB 的卷,分为 Endurance(持久)和 Performance(性能)两种级别。持久存储可为每 GB 卷提供 0.25、2.0,或 4.0 的 IOPS,因此如果有一个 12TB 的卷,最高可获得 48,000 的 IOPS。

性能存储最高提供 6,000 的 IOPS,该 IOPS 要求卷容量至少 100GB。对于 100GB 以上的卷,性能存储的 IOPS 上限为 6,000。如果使用持久存储,需要容量为 1.5TB 的卷才能实现相同的 6,000 IOPS。因此持久存储更适用于事务量不是非常高,但可能需要较大存储容量的工作负载。性能存储适合需要以很高速度执行非常高读写事务的工作负载。性能存储的不足之处在于无法为其创建快照。您可以为持久存储卷创建快照,并在区域内部或跨地域复制,但是对于性能存储卷,只能自行执行相关操作。

加密工作只能通过第三方工具或自行实施的工具实现。

云存储的定价

每个云供应商都提供了类似的存储服务,但由于服务之间存在诸多差异,往往很难进行严格的“同类”服务对比。价格方面,最恰当的做法是首先从待考虑的云供应商中确定最适合的服务,随后根据相关定价确定每种服务的最终成本。

编译:大愚若智


感谢陈兴璐对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-04-27 19:003630
用户头像

发布了 283 篇内容, 共 103.2 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

uWebSockets.js 遇见 Http3

devpoint

JavaScript websocket HTTP3.0 7月月更

2022最新面试八股文,共计12w字,200多页,16个Java技术栈

Java全栈架构师

Java spring 程序员 面试 程序人生

30岁被裁,我想明白的几件事

老张

职业第二曲线 职场发展

java零基础入门-String

喵手

Java 7月月更

mysql进阶(二)你真的了解索引吗?

No Silver Bullet

索引 MySQL 数据库 7月月更

用什么承受全部的数据-RDD、DataFrame还是Dataset

怀瑾握瑜的嘉与嘉

spark 7月月更

YLearn因果学习开源项目「贡献者计划」精彩来袭!

九章云极DataCanvas

AI 开发者 因果学习 YLearn

你玩过轻量系统软总线应用吗?

OpenHarmony开发者

OpenHarmony

Wallys/WiFi6 MiniPCIe Module 2T2R 2×2.4GHz 2x5GHz MT7915 MT7975

wallys-wifi6

IPQ4019 IPQ6010 ipq6018 QCN9074 MT7975

好家伙!阿里人用5个案例就彻底讲清了SpringSecurity安全框架

程序员小毕

Java spring 程序员 面试 springsecurity

面试官:小伙子你来说下缓存穿透、缓存雪崩、缓存击穿

Java永远的神

Java redis 程序员 面试 程序人生

电商订单支付时防止重复支付的原理

程序员小毕

Java 程序员 面试 程序人生 后端

Android 自动化测试

沃德

android 程序员 7月月更

什么是微软 Edge 浏览器 Tracking Prevention 的 Org Relationship Mitigation 策略

Jerry Wang

JavaScript html 前端开发 web开发 7月月更

简述Serverless原理及运用

南城FE

Serverless 前端 7月月更

不知道这4种缓存模式,你可能并不是真的懂缓存

Java永远的神

Java 缓存 程序员 面试 后端

数据治理实战篇!选择什么样的工具让数据治理落地更简单

雨果

数据治理

Python爬虫挺刑的,去VX公众某位置,平台登录加密参数扣取

梦想橡皮擦

Python 爬虫 python 爬虫 7月月更

团队管理之git提交规范:commit记录那点事儿

南极一块修炼千年的大冰块

7月月更

【C语言】进阶指针seven

謓泽

7月月更

助力人工智能迈向新阶段,YLearn因果学习开源项目重磅发布!

九章云极DataCanvas

人工智能 开源项目 因果学习 YLearn

语音驱动嘴型与面部动画生成的现状和趋势

行者AI

算法 人工智能’

【愚公系列】2022年7月 Go教学课程 011-字符串类型

愚公搬代码

7月月更

JAVA编程规范之OOP规约

源字节1号

后端开发

这一次带你透彻解析RocketMQ消息中间件

Java永远的神

Java 程序员 面试 RocketMQ 消息中间件

从预测到决策,九章云极DataCanvas推出YLearn因果学习开源项目

九章云极DataCanvas

人工智能 YLearn 开源工具包 因果推断

wallys/2×2 MIMO 802.11ac Mini PCIe Wi-Fi Module, Dual Band, 2,4GHz / 5GHz

wallys-wifi6

IPQ4019 QCA9880 QCA9882 QCN9074 IPQ9072a

LeetCode-112. 路径总和(java)

bug菌

Leet Code 7月月更

博云入选Gartner中国云管理工具市场指南代表厂商

BoCloud博云

云原生 Gartner 云管理平台 云管理

首届京东科技合作伙伴大会召开,博云携手京东科技共创产业数字化新增长

BoCloud博云

容器 云原生 PaaS

【古月21讲】ROS入门系列(1)——ROS命令工具的使用及创建工作空间和功能包

秃头小苏

ROS 7月月更

云存储哪家强:AWS、Azure、Google、SoftLayer_Google_大愚若智_InfoQ精选文章