The more Azure grows, the harder it is to manage through its portal. After all, graphical user interfaces rarely scale beyond a few machines. With a global Azure deployment, you’re going to be running hundreds, if not thousands, of virtual machines, containers, and Azure service endpoints. It’s not a job for fallible humans, where one misconfiguration can result in a significant service outage.
That’s where Azure’s Resource Manager (ARM) comes in. It is an important part of work with Azure. The infrastructure elements that make up an application also make up a template that’s stored, ready for use and reuse. Although you can store them in your Azure account, you can able store templates outside Azure, such as in a GitHub repository. Because they’re JSON documents, you can edit and manage them in any tool that can work with JSON, like Visual Studio Code or the full Visual Studio IDE.
Azure Resource Manager templates and the Azure CLI
Templates are easy to manage and deploy with the Azure Portal, but things get much more interesting when you start to mix in the Azure CLI. With the CLI running locally on your PC, managing Azure through a command line makes a lot of sense once you’re working at scale.
Instead of clicking through a GUI, a deployment is now a matter of a couple of lines of script. You first set up an Azure Resource Group, then you deploy your templates. Once provisioned, you get a notification in the CLI and your application is ready to run. Note: If you prefer to use the Azure Portal’s built-on Cloud Shell, make sure your templates are in a storage account associated with the account that’s running the shell.