Learning Objectives Covered in this post are provided below:
- Describe Azure Resource
- Describe Azure Resource Groups
- Describe Azure Resource Manager
- Describe benefits and usage of core architectural components (resources, resource groups & resource manager)
Now that we understand the physical infrastructure underlying Azure, the next step is learning how to interact with the services running on that hardware. In Microsoft Azure, everything you create, configure, and manage is called a “resource.” How you organize and control these resources determines whether your cloud environment is a chaotic mess or a well-oiled machine.
Azure Resource: The Individual Component
An Azure Resource is the basic building block of any Azure solution. It is any manageable item that is available in your Azure subscription.
- What Counts as a Resource? If you can create it, see it in the portal, and delete it, it is a resource. Common examples include:
- A virtual machine
- A storage account
- A virtual network
- An Azure SQL database
- A web app
As you browse the Azure portal, you will find options like “Create a resource” prominently displayed in the navigation menu. This is your entry point to deploying new services.
Azure Resource Groups: The Logical Container
Imagine building a complete web application. You might need five virtual machines, a load balancer, a database, and a storage account. Managing these ten items individually would be a nightmare. This is where Resource Groups come into play.
- A Logical Grouping: A resource group is a logical container that holds related resources for an Azure solution.
- Unified Lifecycle Management: Resources are typically placed in the same resource group because they share a common lifecycle. You deploy them together, update them together, and (when you are done with the project) delete them together. Deleting a resource group deletes all the resources inside it.
- Organization and Control: Resource groups allow you to manage access control (who can create or modify resources in that group) and costs (you can see the total cost of all resources in a group).
Azure Resource Manager: The Orchestrator
How does Azure process your requests to create, modify, or delete these resources and groups? The answer is the Azure Resource Manager (ARM) .
- The Management Layer: Azure Resource Manager is the deployment and management service for Azure. It provides a consistent management layer that accepts all requests from users.
- The Single Interface: Whenever you interact with Azure—whether you are using the Azure portal, the Azure CLI, Azure PowerShell, or REST APIs—your request is sent to the Azure Resource Manager API. ARM then authenticates and authorizes the request and forwards it to the appropriate Azure service to take action.
- Consistency and Templates: Because ARM acts as a single orchestrator, it provides consistency across all tools. You can also use ARM templates to deploy infrastructure using code. These templates are declarative JSON files that define all the resources and configurations for a solution, allowing for repeatable and predictable deployments.
The Benefits of This Architecture
Understanding the relationship between resources, resource groups, and Resource Manager is crucial for effective cloud management.
- Simplified Management: By grouping resources, you avoid the overhead of managing each component individually.
- Granular Access Control: You can apply permissions at the resource group level. For example, you can grant a developer “Contributor” access to a specific resource group, allowing them to manage only the resources related to their project.
- Cost Tracking: By tagging resources and grouping them logically, you can generate detailed cost reports that show exactly how much a specific application or department is spending.
- Declarative Deployments: With ARM templates and the Azure Resource Manager, you can version-control your infrastructure and deploy complex environments in a repeatable, error-free manner.
In summary, think of it this way:
- Resources are the individual Lego bricks (the components).
- Resource Groups are the completed Lego model (the assembled solution).
- Resource Manager is the instruction manual and the hands that put it all together.