Azure Resource Manager, ARM, or Azure RM, is the primary means of administering Azure resources, introduced in 2014 to replace Service Manager. It provides a small core feature set (resource groups, management groups, and tagging) upon which Resource Providers build.


  • Resource groups define the canonical home of a resource.
  • Tags are key-value pairs associated with ARM resources that can be searched across resource groups.
  • Management groups allow managing Azure subscriptions in bulk by grouping them together.

Resource Providers

  • Microsoft.Compute
  • Microsoft.Network
  • Microsoft.Storage


ARM templates are Azure's canonical form of infrastructure as code. They're expressed in JSON (Private) and are often emitted by resource creation wizards in the Portal (look for Automation options at the final validation stage). You can store these for later modification and deployment under the Templates blade.

In a resource specification, use the following to get 3 copies:

"copy": {
    "name": "myObject",
    "count": 3

To ensure generated names are unique, use the copyIndex(startAt=0) function to get a zero-indexed value for the current iteration.