DEV Community

Cover image for What is Azure Resource Manager?
Wilfred Andrew Delamy
Wilfred Andrew Delamy

Posted on

What is Azure Resource Manager?

Before we can start creating resources in Microsoft Azure, one of the first concepts to understand is Azure Resource Manager (ARM). ARM is the backbone of how resources in Azure are deployed, managed, and organized. Let's talk about it.

What is Azure Resource Manager (ARM)?

Azure Resource Manager is an orchestrator and management layer that sits between users and resource providers, enabling users to create, update, and delete resources in their Azure accounts.

Resource providers are services, such as storage or compute, that supply Azure resources.

Think of ARM like a remote control for a smart home. Just as a remote allows you to manage various functions like lighting, temperature, and security from one device, ARM acts as the control center, ensuring that all your resources, such as Virtual Machines (VMs), Storage Accounts, and Databases, are deployed and managed consistently and in an organized way.

ARM provides a unified way to interact with Azure resources, regardless of the tool or interface you use.

How Can You Access ARM?

Speaking of tools or interfaces, there are different ways a user can access and interact with ARM.

For beginners, the Azure Portal is the easiest entry point.

To get started with Azure, you can click to sign up for a free Azure trial account.

Once signed up, you can access the Azure Portal by navigating to the https://portal.azure.com URL and signing in with your Azure account credentials.

The Azure Portal offers a user-friendly, web-based interface that lets you visually manage your resources without delving into scripting or code.

Some Keywords

  1. Azure Portal: a web-based User Interface (UI) for managing resources.
  2. Azure Command Line Interface (CLI): a cross-platform command-line tool for scripting and automation.
  3. Azure PowerShell: ideal for Windows administrators who prefer PowerShell scripting.
  4. REST API: direct programmatic access for custom integrations.
  5. Client SDKs: available in languages like .NET, Java, Python, and JavaScript for developers building applications that interact with Azure.

Benefits of Azure Resource Manager

  • Consistent Management

    When you send a request through any Azure API, tool, or SDK, ARM receives it. It authenticates and authorizes the request before forwarding it to the appropriate Azure service. Because all requests are handled through the same API, you see consistent results and capabilities in all the different tools.

The following diagram shows the role that ARM plays during Azure requests:

The role that ARM plays during Azure requests

  • Declarative Templates

    You can use ARM templates to define your infrastructure as code. This makes deployments repeatable and predictable.

For instance, a simple ARM template to create a storage account might look like this:


{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2019-04-01",
      "name": "examplestorageaccount",
      "location": "westus",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {}
    }
  ]
}

Enter fullscreen mode Exit fullscreen mode

This template specifies a storage account named 'examplestorageaccount' with standard locally-redundant storage.

By using this template, you can ensure that identical configurations are quickly deployed across different environments.

  • Role-Based Access Control (RBAC)
    ARM integrates with Entra ID (formerly called Azure Active Directory) to provide fine-grained access control. Entra ID is Microsoft's identity and access management service that ensures secure, streamlined authentication and authorization across your Azure resources.

  • Tagging and Organization
    You can apply tags to resources for better cost management and organization.

  • Dependency Management
    ARM understands resource dependencies and deploys them in the correct order.

Management Scope in Azure

ARM organizes resources into four levels of management scope:

  1. Management Groups Used to manage access, policies, and compliance across multiple subscriptions.
  2. Subscriptions A logical container for resources, tied to billing and access control.
  3. Resource Groups A grouping of related resources that share the same lifecycle. For example, all the resources for a web app can be in a single resource group.
  4. Resources The individual services, such as VMs, storage accounts, and databases.

Visualizing the Hierarchy

Azure Management Scope

Why Does ARM Matter?

Understanding ARM and its scope levels helps you design your Azure environment for scalability, security, and cost efficiency. Whether you're deploying a single app or managing an enterprise cloud, ARM is your foundation.

For instance, imagine a student working on a capstone project who needs cloud resources to host a web application and a database. They can use Azure Resource Manager to set up a resource group containing all the necessary components, such as a web server, storage accounts, and a database, under a single, organized framework. This approach ensures efficient management and cost tracking.

Similarly, a small business looking to manage its online store can use ARM to group resources by environment, such as development, testing, and production, ensuring consistent deployment practices and streamlined scaling as its business grows.

Final Thought

ARM is responsible for everything done in Azure. I hope this blog gave you an introduction.

In my next blog post, I will guide you through creating your first storage account. This process will involve navigating the Azure Portal, selecting the appropriate resource group, and configuring basic settings like the storage account name and location. This will ensure that even beginners can follow along and gain actionable guidance.

Top comments (0)