众所周知,本地存储的拥有权成本模式与企业云存储的定价方式完全不同。
更麻烦的是,理清云存储服务定价的过程可能会让人感觉混乱崩溃。人人都在谈论云存储的低成本优势(浮动的出站费除外),那么如何确定哪种存储最适合您的企业呢?
企业可能会对云存储定价感到困惑不解。我们在此提供了一些信息,希望能帮助您更好地了解云存储定价,让您做到心中有数。
事实上,云存储定价很复杂,成本并不一定低于本地存储,而且您可能会漏掉数据出站费用的预算。
尽管云存储定价很复杂,但好消息是,Amazon Web Services (AWS)、Microsoft Azure 和 Google Cloud Platform (GCP) 的对象存储产品都有相似的云存储定价模式。因此,一旦您熟悉了云存储的定价方法,就能根据企业需求顺利评估主流云提供商的成本效益。
值得关注的企业云存储成本变量有:
接下来我们看看不同的云存储级别,如下所示:
存储层通常包含这三个主要类别,我们猜测随着时间的推移,提供商将发布更多产品和选项。
当今主流云提供商有时会针对性能层推出批量折扣价格(即,数据量若超过特定限值,每千兆字节的月费将降低)。但是,对低接触层和归档层只实行固定费率。举个例子,以下是 Microsoft 在 West US 2 区域的对象存储定价:
计算存储定价非常简单:例如,假设 Azure 中有 2,250 TB 数据,分散在热存储层 (600 TB)、冷存储层 (200 TB) 和归档存储层 (1,450 TB)。在这种情况下,预计 West US 2 区域的每月存储成本如下:
存储层 |
数据量 |
每月总计 |
热存储层,前 50 TB ($0.018/GB) |
50 TB |
$900.00 |
热存储层,下一 450 TB ($0.0173/GB) |
450 TB |
$7,785.00 |
热存储层,500 TB 以上 ($0.0166/GB) |
100 TB |
$1,660.00 |
冷存储层 ($0.01/GB) |
200TB |
$2,048.00 |
归档层 ($0.00099/GB) |
1,450 TB |
$1,469.95 |
$13,862.95 |
归档层中的大部分存储容量非常便宜,而最高的成本源自于性能层上的数据。实际上,我们可(通过文件分析和活动审计)仔细分析“热存储”层上的许多数据是否可以转移到更具成本效益的层。假设我们可以将热存储层和冷存储层上 80% 的数据移到成本较低的归档层,则成本状况将发生重大改观:
存储层 |
数据量 |
每月总计 |
热存储层,前 50 TB ($0.018/GB) |
50 TB |
$900.00 |
热存储层,下一 450 TB ($0.0173/GB) |
70 TB |
$1,211.00 |
热存储层,500 TB 以上 ($0.017/GB) |
0 TB |
$0.00 |
冷存储层 ($0.01/GB) |
40TB |
$400.00 |
归档层 ($0.00099/GB) |
2,090 TB |
$2,069.10 |
$4,580.1 |
移动数据可不是免费的。诸如写入、读取、分层和获取项目属性之类的云存储操作都要支付相关费用。
根据 Azure 对 West US 2 区域的定价,以下是存储操作的费用概览(价格按每 10,000 次操作计):
不难看出,存储成本低的层,活动成本更高。
乍一看,计算存储操作费用并不难。但是,对它们进行建模可能很棘手,因为你要准确地了解应用程序使用数据的用途,才能判断在实际中将要发生的操作活动。
大型文件会产生许多操作。例如,如果用流方式写对象,则每个对象将至少有两次写入操作(PutBlock 和 PutBlockList)。如果应用程序写入每个对象,随后执行数据完整性检查、读取对象进行索引,然后更改存储层,这一系列针对项目的读写操作最终可能仅完成了初始的项目播种。
接下来我们看两个例子,通过按交易数量计量操作成本,说明不同工作负载的成本差异。
(注意:Veritas Alta™ SaaS Protection 仅备份自上次备份任务以来发生更改的数据,从而最大限度地减少存储操作和带宽使用。)
大型文件工作负载可能是备份、视频或 LIDAR 图像。假设环境数据为 200 TB,对象数量为 200,000 个项目,则平均文件大小为 1 GB。在此示例中,我们将假设每个对象会产生四次写入操作和两次读取操作,以便数据填充到云存储中。
假设使用热存储层,则存储操作成本如下:
热存储层 |
操作 |
合计 |
写入操作 ($0.065/10k) |
800,000 |
$5.20 |
读取操作 ($0.005/10k) |
400,000 |
$0.20 |
$5.40 |
假设使用冷存储层,则存储操作成本如下:
冷存储层 |
操作 |
合计 |
写入操作 ($0.13/10k) |
800,000 |
$10.40 |
读取操作 ($0.013/10k) |
400,000 |
$0.52 |
$10.92 |
显然,上述费用可忽略不计。但是,包含大量小文件的其他工作负载会怎样?
小型文件工作负载可能包括物联网 (IoT)、基因组学或电子邮件。这次我们假设文件规模为 200 TB,对象数量为 1,431,655,765 个项目,平均文件大小为 150 KB。假设每个对象在存入云存储时都会产生相同的四个写入操作和两个读取操作。
假设使用热存储层,则存储操作成本如下:
热存储层 |
操作 |
总费用 |
写入操作 ($0.065/10k) |
5,726,623,060 |
$37,223.05 |
读取操作 ($0.005/10k) |
2,863,311,530 |
$1,431.66 |
$38,954.71 |
假设使用冷存储层,则存储操作成本如下:
冷存储层 |
操作 |
总费用 |
写入操作 ($0.13/10k) |
5,726,623,060 |
$74,446.10 |
读取操作 ($0.013/10k) |
2,863,311,530 |
$3,722.30 |
$78,168.40 |
对于重视预算的企业来说,示例 2 中的数字看起来有点吓人。
但是,在使用有大量对象的工作负载之前,请记住,低成本存储层带来的长期节省终是利大于弊。
您需要多运行几次,以查看多久能抵消掉最初的读写峰值。在大多数商业案例中,我们看到尽管初始运营成本很高,但工作负载从本地基础架构转移到云存储服务带来的长期成本优势显著,尤其是转移到低成本存储层时。
我们在 Veritas Alta SaaS Protection 解决方案中推出多种策略来降低客户的活动成本,包括内置的重复数据删除和压缩。在某些情况下,依据策略对适于归档的小对象进行容器化,显著减少了对象数量。
通常,SaaS Data Protection 借助分析和基于策略的分层来优化您的云存储空间占用,将小对象留在性能层上,并自动将不活跃的大对象移动到不经常访问的存储层或归档层。通过这种方法,我们可以最大限度减少存储操作,同时最大限度提高存储的成本效益。
出站主要分两种类型:
检索数据会产生存储层数据传输成本,从云区域下载数据会因占用网络带宽而产生数据传输成本。稍后我们会讨论网络出站成本,但好消息是,存储层的数据传输成本可以忽略不计。
实际上,检索数据的传输成本每月几乎不超过 20 美元。举例来说,从热存储层访问任意数量的数据都不会产生数据传输成本,如果从冷存储层中获取 5 TB 数据,则将花费大约 50 美元,如果从归档层访问数据,则花费大约 100 美元。
(请注意:Veritas Alta SaaS Protection 不使用归档层,为的是进一步优化产品的存储性能。)
继续以 Azure West US 2 区域的价格为例,我们可以看到,没有产生入站数据传输成本,而且特定存储层上检索数据产生的每千兆字节费用很少:
(请注意:虽然 Azure 的收费因地区而异,但 Veritas Alta SaaS Protection 成本在所有地区都相同。)
我们经常听到行业分析师和专家说云存储很便宜,但出站成本是一项隐性费用。存储硬件供应商经常拿出站成本为理由,劝诫客户不要使用云存储。
当然,如果数据位于您的基础架构内,那的确无需考虑出站费用。
否则,在认定出站带宽成本是绊脚石之前,我们应先量化出站带宽费用。
首先,我们看看出站数据传输的定价方式:
(显示的价格参考 Microsoft Premium Global Network 的网络流量计算。取消此选项可降低成本,但定价结构类似。)
与存储一样,Azure 的数据出站费用也因地区而异。费用按数据量和文件大小提供折扣(以千兆字节为单位):
我们可以看到,少量数据出站产生的成本微不足道。但是,一个月内下载量超过 10 TB,成本就不容忽视了。
要记住的是,大部分数据只是偶尔被访问,所以也处于低接触状态。
(请注意:如果您选择 Veritas 托管的 Veritas Alta SaaS Protection,就不会有额外的出站费用。)
Veritas Alta SaaS Protection 内置文件分析功能,客户可清晰了解其存储平台上的检索活动。在大多数情况下,每月被访问的数据量占数据集的比例并不高。例如,客户使用 Veritas Alta SaaS Protection 对高事务性本地应用程序进行备份和无缝分层,该应用程序每月出站数据量约 1 TB,占其 Veritas 存储空间的 1.4%。但这是一个较高的配置。更常见的是这样的客户场景:存储的数据超过 500 TB,平均每个月只有 300-500 GB 的出站量(占整个数据集的 0.0005% 到 0.001%)。
实际上,即使我们对本地的多个大型文件服务器启用云分层(因为最近访问的数据在本地缓存,用户很少访问 30 天前的内容),出站量通常也很小。
但在某些情况下,出站成本是大头。例如,您想在单独的云区域为存储帐户创建隔离的云备份副本。如果您有 100 TB 的存储空间并要启用地理区域备份,则可能意味着一次出站量达到 50-60 TB(删除重复数据并压缩后)。
虽然了解大规模出站成本是件好事,但在实际操作中,我们仅将其视为在不同地理区域间冗余复制/备份,或将数据集复制到外部服务时一个非常规配置的考虑因素。(例如,使用 Veritas Alta SaaS Protection 的“额外数据备份”附加选项。)另外,由于大多数企业仅与存储中的一小部分数据进行交互,因此出站的成本通常微不足道。
在做预算计划时,请注意以下一些云存储细节:
归档层的定价低得令人难以置信,在某些情况下,1GB/月的费用不到 0.1 美分(即 0.00099/GB/月)。但是,该层只适用于需要长期保存且极少被检索的数据。
虽然您可以恢复数据,但要从归档层恢复数据,则要将数据向上移至“冷存储层”或“不经常访问”的层。需要注意的是,在数据初次写入后的指定时间内进行水化被视为提前访问或从归档中删除数据,这会带来成本损失。
例如,AWS 规定,存放到其归档层的数据存储期至少为 90 天,在此时间之前访问会按比例收取费用(相当于剩余天数的存储费用)。同样,Microsoft Azure 的归档层也有类似措施,但至少要存储 180 天后才能免费访问,提前访问会收取费用。
因此,请确保仅将低接触或要长期保留的非活跃工作负载存储到这些归档层,这样可以避免提前访问/删除的费用。
(请注意:Veritas Alta SaaS Protection 并不存在这些高额的访问费用问题,因为它不使用归档层。)
云提供商会提供各种优惠,吸引您将数据传输到他们的存储服务,这样您就会忽视存储或网络级别的入站数据传输成本。
大家往往注意到本地冗余存储的定价较低(本文中提及的所有价格仅针对本地冗余)。但是,如果您要对数据进行不同地理区域间的复制或备份,则应制定相应的计划,因为成本势必会增加。在规划地理冗余时,请注意这应包括异地复制带宽成本,这个成本因地区而异(通常约为 $0.02/GB)。
主流云提供商在很多国家设有数据中心,这意味着他们以多种货币进行结算。您会发现,来自同一云提供商的特定存储服务在不同地区之间会有价格差异,在某些情况下差异相当显著。此外,即使是同一提供商,云区域之间的定价也可能存在差异(例如,某些区域可能不提供存储服务),这一点不足为奇。
我们的建议是,永远不要假设一个地区提供的定价和服务与另一个地区相同。在提交预算计划之前,请务必花时间查看地区价格差异。
(请注意:若您选择 Veritas 托管的 Veritas Alta SaaS Protection,所有 Azure 区域之间的成本都相同。)
如果您想使用 Veritas Alta SaaS Protection 的客户托管选项,我们可以帮助您理清需求及预测成本。如果您想估算成本,请联系我们。我们有定价计算器可以帮助您对云存储支出进行建模,准确估算出您的多年期订阅成本。