Azure Resource Manager (ARM) supports modern cloud applications which are usually distributed and contain multi-tiered components, such as a frontend web server, a middle-tier application server, and a backend database server. Through the portal, these are still shown as separate entities but grouped as a connected service which can be managed as a single object. ARM is usually managed through the centralized GUI portal, but for customers with advanced needs, it also supports Azure PowerShell, Azure CLI, Azure REST APIs, and client SDKs. Let’s now look a bit deeper into Azure Resource Manager and its key components for management, templates, security, operations, monitoring, support, and troubleshooting.
You can access the Azure resource manager and its tools in multiple ways. These access options include the following:
- The common and traditional way is through the Azure management portal
- 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 and as with all Azure services, an extensive REST API
Azure Resource Manager (ARM) provides functionalities and advantages:
- Access control is easier with Azure Role-Based Access Control (RBAC).
- 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.
- ARM 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.