Share via


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.

imageIn 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 ARM Templates

** Please note this list will be maintained and updated at  https://github.com/robertjgates/AzureArmTemplates

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

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

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