The infrastructure for your application is typically made up of many components – maybe a virtual machine, storage account, and virtual network, or a web app, database, database server, and 3rd party services. You do not see these components as separate entities, instead you see them as related and interdependent parts of a single entity. You want to deploy, manage, and monitor them as a group. Azure Resource Manager enables you to work with the resources in your solution as a group. You can deploy, update, or delete all the resources for your solution in a single, coordinated operation. You use a template for deployment and that template can work for different environments such as testing, staging, and production. Resource Manager provides security, auditing, and tagging features to help you manage your resources after deployment.
Resource Manager provides several benefits:
- You can deploy, manage, and monitor all the resources for your solution as a group, rather than handling these resources individually.
- You can repeatedly deploy your solution throughout the development lifecycle and have confidence your resources are deployed in a consistent state.
- You can manage your infrastructure through declarative templates rather than scripts.
- You can define the dependencies between resources so they are deployed in the correct order.
- You can apply access control to all services in your resource group because Role-Based Access Control (RBAC) is natively integrated into the management platform.
- You can apply tags to resources to logically organize all the resources in your subscription.
- You can clarify your organization’s billing by viewing costs for a group of resources sharing the same tag.
Resource Manager provides a new way to deploy and manage your solutions. If you used the earlier deployment model and want to learn about the changes, see Understanding Resource Manager deployment and classic deployment.
Here you find the Microsoft Azure Resource Manager Overview documentation
Working with Azure Resource Manager Templates in Visual Studio Code :
Azure Resource Manager templates are JSON files that describe a resource and related dependencies. These files can sometimes be large and complicated so tooling support is important. Visual Studio Code is a new, lightweight, open-source, cross-platform code editor. It supports creating and editing Resource Manager templates through a new extension. VS Code runs everywhere and doesn’t require Internet access unless you also want to deploy your Resource Manager templates.
If you do not already have VS Code, you can install it at https://code.visualstudio.com/.
What I really like is ARMVIZ, this is a visualizer of your JSON templates and here you can learn more about making JSON templates for your Solutions.
- ARMVIZ visualizer website : http://armviz.io/designer
- ARM Visualizer on GitHub : https://github.com/msshli/arm-visualizer
- Azure QuickStart Templates on GitHub : https://github.com/Azure/azure-quickstart-templates
- Cloud Consistency with Azure Resource Manager Whitepaper : https://gallery.technet.microsoft.com/Cloud-Consistency-with-0b79b775