Azure ARM template for 1-to-many Windows Servers

I find myself having to create Azure VMs from time-to-time when I’m traveling or using my Surface Pro and I need a little more horsepower than the current rig I’m on at the moment. I wanted to create an ARM template that made this process as easy and as quick as possible. Figured I’d share my hard work with the rest of the world:

https://github.com/inhifistereo/Azure-ARM-Windows-Server-with-Custom-Script-Ext

What’s cool about this ARM template (at least I think it’s cool) is that it allows you to create more than 1 server. Additionally, I’m using Chocolatey to load Git and VS Code too. Feel free to fork and customize to your heart’s content.

Source Control for your code snippets

You can drop almost any piece of HTML, CSS, JavaScript, jQuery, etc. you want on to a SharePoint page. As long as you possess Designer permissions or better, you can drop this code on to a page or pages and provide your users a richer UI experience while sparing you the headache of placing files on the server file system. It’s extremely easy to drop a Content Editor Web Part (CEWP) onto the page and plop your code down. But there are 2 inherent problems with this approach:

  1. Zero Source Control
  2. Difficult to repeat

So how do you solve these 2 problems?

  1. Save your code in a text file
  2. Place the text file in a separate, dedicated document library for these snippets

Once the file is in the doc library, you can paste a link to the text file in the CEWP. By creating one single source of the code, you ensure consistency amonth other CEWP(s) that call the same text file. It’s just good coding practice and it’ll make your life a lot easier in the long run. 

The CEWP has been capable of linking to a text file since at least MOSS. SharePoint 2010 has just made it slightly more difficult on developers to drop code on the page by hiding the HTML editor in the ribbon. This is a change that I welcome and have come to appreciate.

One last note, make sure that your users have at least Read access to this text file doc library. Generally, I break inheritance on this specific library and add domain/domain users with Read permissions. Just one less thing I have to manage.