What is Azure ARM (Azure Resource Manager)?
- Prerequisite Knowledge –
Before we start with the understanding of ARM, we should know few terminologies in Microsoft Azure –
- Resource – Every object/item inside the Azure like a 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 consists of declarative syntax JSON This template consists of the defines resource(s) to deploy under resource group or subscription. This template can be reused.
- History and Introduction –
Microsoft Azure had old portal manage.windowsazure.com. Initially, developers and information technology professionals were using Azure Service Management APIs with this old portal to provision the resources.
Then, Microsoft announced the new Azure portal in build 2014 portal.azure.com along with new APIs 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 APIs 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 APIs at the background i.e. ARM API’s.
In short, ARM is service provided in Azure subscription 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, access level groups.
Image Source: Microsoft Docs
- 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 the application by grouping them in the resource group.
- ARM template – It is a reusable template that helps us in repeatedly deploy the resources. We can also define the order of deployment of resources for dependency issues.
- ARM is the faster and smoother process of providing Azure resources.
- Recommendations
- Avoid manual steps to provision the Azure resources.
- Use the ARM template to deploy and manage the resources.
- Group the resources in a resource group which helps in easy to maintain the resources.