为每个应用程序创建 Azure 存储帐户还是为每个区域创建一个存储更好?
Is it better to create Azure storage account per app or one storage per region?
所以我在这里考虑了两种情况:
- 为每个区域(例如西欧)创建一个大存储帐户,为每个应用程序创建一个容器。存储帐户转到每个区域的资源组。
- 在包含其他应用资源的资源组中为每个应用创建一个存储帐户。
1 的抽奖:
容器与其他应用资源分开,因为它们位于每个区域的存储帐户中
容器设计为扁平结构(可以创建文件夹,但不明显)
2 的抽屉:
- 很多存储帐户
看到这里,我会说为每个应用程序创建存储帐户是一个更好的选择,但也许我在这里遗漏了一些东西。
所以问题是:为了让一个选项比另一个更好,这里是否还有其他需要考虑的事情?也许成本?
我偶然发现了一个有点相似的 question,但它是关于拥有一个大容器或许多小容器的。
所以这个问题在某种程度上是完全不同的,因为存储帐户作为一个整体是受区域限制的,并且没有访问策略。虽然一个帐户中的所有容器都在同一区域,但可以有不同的访问策略。
这个问题没有正确答案。但客观地说,您需要考虑几件事:
- 如果您按容器分隔 tenants/apps,您将无法再按容器分隔应用的资产 - 您将限制自己只能使用一个容器来容纳应用内的所有资产。
- 如果您对所有 tenants/apps 使用一个存储帐户,您可能会达到一个存储帐户的 20K/秒事务限制(并且可能达到
500TB 5PB 总计限制)
- 如果您使用一个存储帐户,并且您的应用使用存储帐户密钥,则每个应用实际上都可以完全访问存储帐户中的所有资源。 (您可以通过共享访问签名和策略来缓解这种情况,但您还需要考虑 queue/table 用法)。
- 如果您的 tenants/apps 位于不同的区域,则租户访问较远的存储帐户可能比较近的区域慢。
- 如果您试图限制对特定应用程序的访问,并且只有一个存储帐户,您可能最终需要授予人们访问存储帐户所在资源组的权限。这些人可能来自构建不同应用程序的团队。因此,您可能会将一个应用的资源暴露给另一个团队。
- 如果多个团队共享同一个存储帐户,一个团队可能会无意中从另一个团队的应用程序中删除资产。
可能还有其他需要考虑的事情,我忘记了。
我按 DR/BC 类型划分存储帐户。即我需要 LSR、ZSR、GSR、RO-GSR 吗?例如,我的一些服务器需要 ZSR(如 DC),但其他服务器如应用程序 Web 服务器或 SQL OS 需要 GSR。这基本上模仿了我们多年来在本地 VMware 数据存储中所做的工作,其中一些使用 SAN 复制复制到 DR 站点,而另一些则没有。
所以我在这里考虑了两种情况:
- 为每个区域(例如西欧)创建一个大存储帐户,为每个应用程序创建一个容器。存储帐户转到每个区域的资源组。
- 在包含其他应用资源的资源组中为每个应用创建一个存储帐户。
1 的抽奖:
容器与其他应用资源分开,因为它们位于每个区域的存储帐户中
容器设计为扁平结构(可以创建文件夹,但不明显)
2 的抽屉:
- 很多存储帐户
看到这里,我会说为每个应用程序创建存储帐户是一个更好的选择,但也许我在这里遗漏了一些东西。
所以问题是:为了让一个选项比另一个更好,这里是否还有其他需要考虑的事情?也许成本?
我偶然发现了一个有点相似的 question,但它是关于拥有一个大容器或许多小容器的。 所以这个问题在某种程度上是完全不同的,因为存储帐户作为一个整体是受区域限制的,并且没有访问策略。虽然一个帐户中的所有容器都在同一区域,但可以有不同的访问策略。
这个问题没有正确答案。但客观地说,您需要考虑几件事:
- 如果您按容器分隔 tenants/apps,您将无法再按容器分隔应用的资产 - 您将限制自己只能使用一个容器来容纳应用内的所有资产。
- 如果您对所有 tenants/apps 使用一个存储帐户,您可能会达到一个存储帐户的 20K/秒事务限制(并且可能达到
500TB5PB 总计限制) - 如果您使用一个存储帐户,并且您的应用使用存储帐户密钥,则每个应用实际上都可以完全访问存储帐户中的所有资源。 (您可以通过共享访问签名和策略来缓解这种情况,但您还需要考虑 queue/table 用法)。
- 如果您的 tenants/apps 位于不同的区域,则租户访问较远的存储帐户可能比较近的区域慢。
- 如果您试图限制对特定应用程序的访问,并且只有一个存储帐户,您可能最终需要授予人们访问存储帐户所在资源组的权限。这些人可能来自构建不同应用程序的团队。因此,您可能会将一个应用的资源暴露给另一个团队。
- 如果多个团队共享同一个存储帐户,一个团队可能会无意中从另一个团队的应用程序中删除资产。
可能还有其他需要考虑的事情,我忘记了。
我按 DR/BC 类型划分存储帐户。即我需要 LSR、ZSR、GSR、RO-GSR 吗?例如,我的一些服务器需要 ZSR(如 DC),但其他服务器如应用程序 Web 服务器或 SQL OS 需要 GSR。这基本上模仿了我们多年来在本地 VMware 数据存储中所做的工作,其中一些使用 SAN 复制复制到 DR 站点,而另一些则没有。