Azure Resource manager is Azure’s resource and deployement service. This provides a constant management layer that whenever an action through the portal, Azure CLI, Powershell, REST API or client SDK the Azure Resource manager API handles the request.
The image show how the above tools interact with the Azure Resource manger API. The request are then passed to the Azure Resource manage service which authorizes and authenticates the request. After authorization and authentication the request is then forwarded on to the relevant service.
Follow are some of the terms that are used with Azure Resource Manager
- This is a item with in Azure such as a Virtual machine, NIC, IP address, web app, database.
- This is a contain to hold related above resources in Azure so that they can be grouped together for easy management
- This is the service that provides the Azure resource, for example Microsoft.compute is a resource provider that supplies the virtual machine resource.
Resource Manager template (ARM template)
Some of the benefits of Azure Resource Manager are
- resources can be deployed, managed and monitored as a group instead of individual resources.
- Through the development lifecycle of the resource, there is confidence that they can be repeatably deployed a consistent state.
- Resources can be managed as infrastructure as code through templates, that can define dependency between resources so that they are deployed in the correct order.
- Tags can be applied to resources and resource groups to logically organize them
The following suggestions help with taking the full advantage of Azure Resource Manager when designing and deploying solutions
- Define all deployment and configuration steps in the template there should be no need to have manual steps for setting up your solution.
- Arrange resources with the same lifecycle in a resource group.
- Use tags for organizing of resources.
- Define and deploy your infrastructure through the declarative syntax of Resource Manager templates