部署 1 个包含多个资源的 ARM 模板还是并行部署单独的资源?

Deploy 1 single ARM template containing multiple resources or deploy separate resources in parallel?

任何人都知道 运行 不同资源的并行 ARM 部署或将它们组合在一个 ARM 部署中是否有优点或缺点。

ARM 部署的早期步骤是检查模板中定义的资源是否相互依赖。 如果部分资源相互依赖,依赖的资源会依次部署,没有依赖的资源link会并行部署。

如果您的 Azure 资源不包含依赖项 links,使用一个大模板或多个模板将产生相同的结果(从部署的角度来看)。

但是,使用多个模板会给您带来以下好处:

  1. 可维护性
  2. 分享
  3. 模块化
  4. 可测试性

(1) JSON 格式真的很冗长,ARM 模板可以快速增长,即使没有很大的复杂性,模板也变得难以理解和维护。

(2) 在团队合作时,每个团队不需要管理所有的Azure 资源。使用多个模板可以帮助团队只关注目标 Azure 基础结构的特定部分。 例如,"Data" 团队可能不需要使用包含数据库、Web 应用程序和虚拟机资源的模板:团队只需要能够管理数据库资源。

(3) 使用序列模板将帮助您将基础架构视为一组可以一起或单独部署的组件。此外,每个较小的模板都可以在不同的项目中轻松重复使用。

(4) 较小的模板比独特的大模板更容易测试。