Introduction
What is Azure Resource Manager (ARM)?
When you are working with Microsoft Azure cloud you must create Azure resources. For managing these resources, Microsoft introduced Azure resource manager, an advanced, cheaper, and faster way to deploy, configure, and manage resources on Azure. It combines all the resources which include Azure resources groups, resource providers, and resources to form a managed cloud platform. You can do this By Azure Portal, Azure CLI, Azure PowerShell, and by using SDKs.
But the question is, why did Microsoft Introduce Azure Resource Manager? The answer is, with the previous classic azure system management you can only manage one resource at one time. This explains the birth of the new Azure Resource manager because if you have a complex application as we are using nowadays, one application consists of multiple components like virtual networks, storage accounts, web app, database, database server, virtual machines and many more depends on applications. To manage these kinds of complex applications, Microsoft introduced Azure management portal 3.0, in which the resource group was introduced. You can manage your components as a single entity not separate entities, but as related and interdependent parts of a single entity. So you will be able to manage all the resources of your application simultaneously.
There are multiple ways you can access the Azure resource manager and its tools. These access options include the following:
- The common and traditional way via the Azure management portal (portal version 3.0 and newer).
- The script-based way via Azure PowerShell or you can access it through Azure CLI which is a cross-platform command-line interface.
- Developers can use the SDKs (.NET and some other programming languages) and, as with all Azure services, an extensive REST API.
The architecture diagram of the Azure Resource Manager (ARM) and its components are mentioned below. As we go through the following diagram, Azure Subscription contains multiple resource groups. Each resource group contains resource instances that are created from resource types available in the resource provider.
Azure Resource Manager Architecture Diagram
At the point when a client sends a request from any of the Azure tools, APIs, or SDKs, the Resource Manager gets the request. It authenticates and authorizes the request. Azure Resource Manager sends the request to the Azure service, which takes the requested action. Since all requests are taken care of through the same API, you can see consistent results and capabilities in all the different tools.
Azure Resource Manager (ARM) Functionalities and Advantages
Azure Resource Manager (ARM) provides functionalities and advantages, as follows:
- Access control is easier with Azure Role-Based Access Control (RBAC).
- Azure Resource Manager ARM allows grouping of resources together in a logical container with Azure resource
- ARM provides security, monitoring, auditing, and tagging for resources.
- By Applying the tags on a Resource group, you can improve the costs. Tags also provide cost and billing information for resources tagged similarly.
- Azure resource manager provides the functionality that you can create your own ARM templates using JSON by your own requirements and needs.
- Managing resources in a correct order you can define dependencies between resources.
- All of the resources in your resource group have the same life cycle. You will deploy, update, and delete them at the same time.
- Each resource can only exist in one resource group.
- You can add or remove a resource to a resource group at any time. You can also move a resource from one resource group to another.