中国领先的IT技术网站
|
|

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

必须针对每个应用程序工作负载的具体需求来决定,但考虑因素很多,例如功能、成本、位置、安全与合规、性能、私有云现有数据中心所用的技术,以及签署过的企业协议或折扣价格等。本文将详细谈谈不同公有云供应商在 云存储 方面的差异。

作者:佚名来源:InfoQ|2016-04-28 10:22

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


目前市面上最主要的公有云服务供应商包括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。因此持久存储更适用于事务量不是非常高,但可能需要较大存储容量的工作负载。性能存储适合需要以很高速度执行非常高读写事务的工作负载。性能存储的不足之处在于无法为其创建快照。您可以为持久存储卷创建快照,并在区域内部或跨地域复制,但是对于性能存储卷,只能自行执行相关操作。

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

云存储的定价

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

【编辑推荐】

  1. 面对 20 亿行代码,Google 如何管理?
  2. Google Java 编程风格指南
  3. Google宣布新开源压缩算法Brotli
  4. 来自 Google 的高可用架构理念与实践
  5. Google工程团队带头人李聪:运维理念与实践
【责任编辑:赵立京 TEL:(010)68476606】

立即免费注册AWS账号,获得12个月免费套餐

有云计算问题?立刻联系AWS云计算专家

点赞 0
分享:
大家都在看
猜你喜欢

热门职位+更多

读 书 +更多

Java EE 5 开发指南

本书是对Java EE各种技术之间互相协作的概览和补充。 本书还展示了如何编写JavaServer Page(JSP)页面或者企业级JavaBean(EJB):探讨了...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言