What Is Azure ARM

Prerequisite Knowledge

 
Before we start learning about ARM, we should know some Microsoft Azure terminology:
  • Resource – Every object/item inside the Azure like web app, logic app, azure functions etc. in the Azure are considered as a resource.
  • Resource Group – Resources are logically grouped under the resource group. Meaning, every resource should have a resource group.
  • Resource Provider – Every resource in the Microsoft Azure is supplied through the Azure provider.
  • Resource Manager Template – It is a template that consists of declarative syntax JSON format. This template consists of the defined resource(s) to deploy under resource group or subscription. This template can be reused.

History and Introduction

 
Microsoft Azure had an old portal. Initially, developers and information technology professionals were using Azure Service Management API’s with this old portal to provision the resources.
 
Then, Microsoft announced the new Azure portal in build 2014 along with new API’s as ARM to provision the resources. Even today both the API’s are available and supported. Although, it is highly recommended to use the new API’s ARM.
 
All the requests are handled by ARM API’s even when we use the different activities through the Azure cloud shell, REST API, PowerShell etc. because all these requests are handled through the same API’s at the background; i.e. ARM API’s.
 
In short, ARM is a service provided in Azure subscriptions to manage and deploy the resources. ARM also helps us to manage and visualize the resources. By using ARM, we can also control the access permissions on the resources by creating roles, and accessing level groups.
 

ARM Benefits

  • Grouping – By using ARM, we can manage, deploy and monitor all the resources instead of managing separately.
  • Access Control- By using role-based access control (RBAC), we can control the permission levels on the Azure resources. RBAC is natively integrated with ARM.
  • We can leverage the power of declarative templates instead of scripts.
  • ARM helps in viewing the billing and usage of the Azure resources which are used in applications by grouping them in resource group.
  • ARM template – It is reusable template which helps us in repeatedly deploying the resources. We can also define the order of deployment of resources for dependency issues.
  • ARM is the faster and smoother process of provisioning the Azure resources.

Recommendations

  • Avoid manual steps to provision the Azure resources.
  • Use ARM template to deploy and manage the resources.
  • Group the resources in resource group which helps maintaining the resources.
  • ARM Quick start – Azure quick start templates are present in this link and GitHub.
Keep Learning!