Resource groups (RG) in Azure is a new approach to group a collection of assets in logical groups for easy or even automatic provisioning, monitoring, and access control, and for more effective management of their costs. One benefit of using RGs in Azure is grouping related resources that belong to an application together, as they share a unified lifecycle from creation to usage and finally, de-provisioning.
The underlying technology that powers resource groups is the Azure Resource Manager (ARM). ARM was built by Microsoft in response to the shortcomings of the old Azure Service Manager (ASM) technology that powered the old Azure management portal. With ARM, users could create resources in an unstructured manner, leading to many challenges in tracking such resources or understanding their dependencies. This led to huge difficulties that discouraged people from using Azure, as they would have a big mess once they had to deal with multiple applications that spanned more than one region.
Provisioning the Resources
As ARM templates contain the details of all the resources that are required for the deployment, the template and Azure handles the creation of all the resources. This may sound obvious, but this is completely different from the old API where you as the administrator had to handle everything yourself.
As an example let’s say that the deployment requires a Virtual Network, Storage and a Virtual Machine. In the old API the administrator had to deploy each of these in turn. Whilst this was possible to do via PowerShell, it required extra work to put in error handling etc to ensure the PowerShell script could be run successfully and repeatedly. This is not an issue when using ARM Templates as Azure handles all of this. It is also able to provision some resources simultaneously making deployment via ARM templates far quicker as well
Creating an ARM Template
Here I am Choosing WebApp + SQL
Use NMP Package Manager
View the content
We have three files
Right Click to validate the resource on solution
Edit the info
Use the password that set for sql
Now Deploy from Solution Context menu
Login to portal
Validate and check the script and resources all are there