Azure Resource Manager and Resource Groups

Created on 2021-10-15 10:40

Published on 2021-10-15 10:47

Azure Resource Manager

To help make the whole process of deployment, management, and security of Azure services seamless, Microsoft has developed Azure Resource Managers. These are also known as ARM. ARM is a native platform for Infrastructure as Code (IaC) in Azure. ARM groups Azure resources into "containers," which in turn couple Azure assets together.

Azure Resource Manager enables you to repeatedly deploy your app without worrying about the performance of resources deployed. ARM offers a single, flexible declarative template in which you can define the infrastructure and dependencies for your app. This template is used in all environments – test, staging, and ultimately production.

ARM also makes it easy for you to manage as well as visualize resources in your app. It allows you to put similar resources into a group that can be deployed or deleted in a single go. You no longer have to deploy parts of your app separately and then piece them together – Azure Resource manager helps you do it faster and more efficiently.

With the Azure Resource Manager, you can also define roles in your organization. These roles would help limit access to specific actions. You can manage permissions and access by defining roles and then adding a user or set of users to these roles. For crucial resources and functionalities, you also have the option of applying an explicit lock. This prevents the existing users from adding/deleting users or modifying access/roles. Additionally, you also have an audit log for every action you perform – this helps keep track of users, time, events, and even the status of tasks.

Resource Groups

Organizing resources in the cloud is essential, as it helps to manage, secure and track costs related to workloads. For this, Azure has Resource Groups. 

Resource groups help organize resources. At the top of the Resource Group hierarchy, you have the Root Account, which is followed by the management groups. These management groups can be for separate departments such as IT, HR, Finance, etc. After the management groups come subscriptions, which help separate costs into administration and production/non-production costs.

At the resource group level, you can create groups of different resources, including storage volumes, virtual machines, and network interfaces. At the creation stage itself, you have to assign them to an Azure resource group. Depending on the workflow and the workload, you can allocate resources to each resource group. To ensure seamless functioning, it is best to assign resources with similar life cycles together. Azure Resource Manager then deploys interdependent resources in a sequence to create them in the proper order.

Cost management becomes very easy with resource groups – all you have to do is assign a cost allocation tag to a particular resource group. A whole group of resources can be accounted for together when it comes to cost management. Likewise, when a specific group of resources is no longer required, you can delete it.