Azure – Certification 70-532-Part 12 – Azure Resource Manager (ARM)

Hello Friends,

If you missed our previous article on Exam 70-532: Developing Microsoft Azure Solutions, Please have a look once here :

Azure – Certification 70-532-Part 7 – Deploying a Web App to Azure Virtual Machine with Web Deploy method

Azure – Certification 70-532-Part 8 – Remote debugging on an Azure VM

Azure – Certification 70-532-Part 9 – Azure Automation State Configuration

Azure – Certification 70-532-Part 10 – Configure Azure PowerShell Desired State Configuration (DSC) Through Azure Portal

Azure – Certification 70-532-Part 11 – Configure Azure PowerShell Desired State Configuration (DSC) Using PoserShell

Today we will start with a hot Azure component Azure Resource Manager. Rather than creating individual resources in a Resource Group , by using powershell  or through Azure Portal, it is advisable  to provisioning resource like virtual machines, Azure Storage account etc requires that, an administrator (or developer) defines all the required resources in a single file called ARM Template. An ARM template is just a JSON (JavaScript Object Notation fo the uninitiated) which lists out each resource and their relationships. This allows, to automate the resource management and provides following advantages.

Benefits of Azure Resource Manager:

  1. Azure Resource Manager(ARM) enables, to works with resources in a group as an unit.
  2. The ARM allow to deploy, update, or delete all the resources for a solution in a single operation.
  3. The ARM allow to write templates, where it defined the details of resources we want, their types, names, properties.
  4. Infrastructure can be managed through declarative templates (in a JSON file which can be understood by the ARM API) rather than scripts.
  5. Define the dependencies between resources in the templates so they’re deployed in the correct order.
  6. ARM templates can be deploy repeatedly and can works for different environments such as testing, staging, and production in a consistent state.
  7. Azure Resource Manager provides security, auditing, and tagging features to manage and monitor resources as a group.
  8. Apply access control to all services in our resource group because Role-Based Access Control (RBAC) is natively integrated into the management platform.
  9. Apply tags to resources to logically organize them in the subscription.
  10. When a template is deployed, we have the option of either using ‘complete’ or ‘incremental’ mode.
  11. The ‘complete’ mode replace the existing configuration.
  12. The ‘incremental’ deployment uses the template to add additional resources to an existing Resource Group.

Resource Manager service get request from API, which then authenticates and authorizes the requests. Once the request authenticated, Azure Resource Manager routes the requests to the appropriate Resource Providers.

The most important part is designing the solutions. The ARM API is used simply for Azure resources. We can integrate DSC to the ARM templates for any additional configuration over any resource e.g configuring IIS on VM or can use PowerShell to manage the deployments onto the infrastructure once it is deployed. When we are discussing Azure Resource Manager(ARM), following terms comes forward to fulfill the concept of ARM. So we need to be familiar with the following terms.

  • ResourceResource is a manageable item that is available through Azure. Some common resources are a virtual machine, storage account, web app, database, and virtual network, but there are many more.
  • Resource GroupResource Group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that we want to manage as a group.
  • Resource ProviderResource Provider is a service that supplies the resources you can deploy and manage through Resource Manager. Some common resource providers are Microsoft.Compute, which supplies the virtual machine resource, Microsoft.Storage, which supplies the storage account resource, and Microsoft.Web, which supplies resources related to web apps.
  • Resource Manager TemplateResource Manager Template is  a JavaScript Object Notation (JSON) file that defines one or more resources to deploy to a resource group. It also defines the dependencies between the deployed resources. The template can be used to deploy the resources consistently and repeatedly.
  • Declarative Syntax – Syntax that lets us state “Here is what we intend to create” without having to write the sequence of programming commands to create it. The Resource Manager template is an example of declarative syntax. In the file, we define the properties for the infrastructure to deploy to Azure.

We could start with something from the Azure Quick start Templates but at some point we will would like to build our deployment template from scratch. For this, Visual Studio and PowerShell are the two most popular tools. In our upcoming  post we will  explain, How to Create and Deploy Azure Resource Manager Template using Azure Portal, using Visual Studio 2017 and using PowerShell tool.

Hopefully this article gives you a good overview of the basics of Azure Resource Manager and the advantages it offers.

Thanks for reading 🙂

Keep reading, share your thoughts, experiences. Feel free to contact us to discuss more. If you have any suggestion / feedback / doubt, you are most welcome.A resource group is a logical grouping of resources that support a particular application or workload.

Stay tuned on Knowledge-Junction, will come up with more such articles.

Advertisements

Comments

3 comments on “Azure – Certification 70-532-Part 12 – Azure Resource Manager (ARM)”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.