My Initial thoughts on Azure Resource Manager tooling in VisualStudio

I don’t know about you but to me Azure Resource Manager is one of the coolest features, it totally takes all the complexity of provisioning resources within Azure away from us. If you are new to Azure Resource Manager, I highly suggest checking out build and ignite sessions on this topic. This post I wanted to cover some initial thoughts on the Azure Resource Manager (ARM) tooling in VisualStudio, I will continue to add to this as I find new stuff.

Things I like

Project template to create Azure Resoure Group based on templates. When editing ARM templates you get full intellisense, Easily deploy resource group template from VisualStudio as well as using PowerShell.

Things to know

When you first create a Resource Group project, select azure template dialog makes bunch of HTTP calls to get template metadata, if you don’t have an internet connection or your connection dropped, you are going to see error below. It does how ever cache after the metadata is loaded for the first time from server so if your connection drops later or you are mobile and don’t have internet but want to work on the template, you should have no problems.

image

My Wish List

Today when you create a new resource group project, you start off with a blank template, it would be nice if the tooling provided some sort of hook into the github repository that contains templates created by community. This way you are not starting off with a blank template. If you are not familiar with quick start template take a look at this link http://azure.microsoft.com/en-us/documentation/templates/. Templates you find there are indexed from this github repository https://github.com/Azure/azure-quickstart-templates. You can fork this repository and contribute to the community.

If you started off creating your template inside of VisualStudio and now you want to publish it out to the community templates github repo, you still have to do a lot of additional work such as renaming template json file and parameter json file, as well as creating metadata file etc. before you can commit and send  pull request. I would like to see a way to publish the template directly into the community template github repo from visualstudio, that would be tremendously helpful and avoids template authors having to do a lot of additional work to get it ready for publishing to the github repository.

Biggest Gap I see

Lets say the design of your solution requires you to build bunch of Logic App Connectors (API apps) and a Logic App (Business Process) and you want to create an ARM template to provision the connectors and Logic App together, I’m finding it extremely difficult/painful with the current tooling. You have to deploy connectors individually, then you have to switch to Azure to design the Logic app. After you design you have to then test it. Once I know the Logic app is working correctly I have to take the JSON and come back to VisualStudio and wire it up to ARM template. Its real painful process IMO. Am sure this will get better as Azure App Service gets out of preview.

I’d love to hear what you think of the ARM tooling in VisualStudio. Drop a comment if you have interesting things to share

Cheers,

</Ram>