Azure: Azure Resource Manager Getting Started and Beyond
As a Microsoft Technical Architect, I have been spending a lot of time educating and providing demos of various technologies, tools, and business workflow solutions to partners and customers. One area that I have been focused on is extensibility capabilities of Microsoft Office 365 through Microsoft Graph, Office Development, and Microsoft Teams.
In the various scenarios, it's not uncommon to need infrastructure or web services to provide endpoints for working with data or accessing resources from other platforms. I have maintaining bullet lists of steps needed to create my testing and demo resources, which get created and torn down frequently.
While the bullet lists have been great in helping to manage and deploy consistent Azure resources for my various scenarios, manually going through the steps needed to create the resources through the Azure portal takes time. That time would be better spent sharing experiences and working with the teams. In some scenarios, we have the partners and customer walk through the steps with us to learn through action. In these pre-scripted sessions its critical that the backend is consistently deployed allowing us to focus on the goals and objectives of the session.
I have known about Azure Resources Manager templates for a while, but just never took the time to dive deeper. Recently I had an opportunity to work with a team specifically on Azure Resource Manager templates. Let's just say the only time I will use the Admin GUI from now on will be the first time I am exploring an Azure resource and I want to get a visual of all the options and settings needed. Once I understand more about the Azure resource I now create Azure Resource Manager templates to use in all further builds of the specific Azure resource.
What is really great about Azure Resource Manager templates is 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.
- Define and deploy your infrastructure through the declarative syntax in Resource Manager templates, rather than through imperative commands.
- Define all deployment and configuration steps in the template. You should have no manual steps for setting up your solution.
- Run imperative commands to manage your resources, such as to start or stop an app or machine.
- Arrange resources with the same lifecycle in a resource group. Use tags for all other organizing of resources.
- Spend some time working in the Azure Resource Explorer, it will help you learn the syntax and options available across your tenant.
- Azure enterprise prescriptive subscription governance
So as you look through the list of resources I have collected there is a lot to learn and review. I would suggest starting with the following resources. Enjoy, and feel free to reach out if you have any questions. You can get me on Twitter, @RobertJGates
- Azure Resource Manager overview
- Understand the structure and syntax of Azure Resource Manager templates
- Use Visual Studio Code extension to create Azure Resource Manager template
- Create your first Azure Resource Manager template
Azure ARM Templates
** Please note this list will be maintained and updated at https://github.com/robertjgates/AzureArmTemplates
Recommended tools
Install Windows Subsystem for Linux on Windows 10
Install the Azure CLI V2 for Windows or Linux
Install PowerShell Cmdlets for Azure
Install Visual Studio Code and ARM Template plugins
Visual Studio Code Plugin - ARM Tools
Visual Studio Code Plugin - ARM Snippets
Install Azure Storage Explorer - Helpful when you need files accessible from a secure location.
Azure Resource Explorer
- https://azure.microsoft.com/en-us/blog/azure-resource-explorer-a-new-tool-to-discover-the-azure-api/
Resources
Azure Resource Manager Overview
Azure Resource Manager overview
Understand the structure and syntax of Azure Resource Manager templates
Use Visual Studio Code extension to create Azure Resource Manager template
Create your first Azure Resource Manager template
Export an Azure Resource Manager template from existing resources
Variables section of Azure Resource Manager templates
Outputs section in Azure Resource Manager templates
Resource functions for Azure Resource Manager templates
Azure Resource Manager template parameter section
Using linked and nested templates when deploying Azure resources
Azure Resource Manager Custom Script Extension with Linux Virtual Machines
Azure Resource Manager Custom Script Extension with Windows Virtual Machines
Deploying Azure Resouce Manager Templates with Artifacts located in a Private GitHub Repository
Azure Resoure Manager Deployment Methods
Deploy resources with Resource Manager templates and Azure portal
Deploy resources with Resource Manager templates and Azure PowerShell
Creating and deploying Azure resource groups through Visual Studio
- /en-us/azure/azure-resource-manager/vs-azure-tools-resource-groups-deployment-projects-create-deploy
Azure Resource Manager Sample Templates
Azure Quickstart Templates
Azure Policy Templates
How to create a Linux virtual machine with Azure Resource Manager templates
How to create a Windows virtual machine from Azure Resource Manager templates
Azure Resource Manager templates for Web Apps
Use Visual Studio Code extension to create Azure Resource Manager template
Define the order for deploying resources in Azure Resource Manager templates
Azure Training and Videos
Mastering Microsoft Azure Resource Manager
Microsoft Azure: Design and Deploy ARM Templates
Azure Resource Manager Overview
Azure Resource Manager Templates Building Infrastructure in Azure
Master VMs in Microsoft Azure Resource Manager
Tips and tricks with Azure Resource Manager
Azure Resource Manager DevOps: Overview
Azure Resource Manager DevOps: Tooling
Azure Resource Manager DevOps: Customizing Templates
Azure Resource Manager DevOps: Role-Based Access Control
Azure Resource Manager DevOps: ARM and ALM Integration
Azure Resource Manager Books
Quick and Practical Guide to ARM Templates by Aman Sharma
Azure Resource Manager Template GIT resources
Azure Citadel - Workshops, Demos, Labs, Guides, Videos