Azure Canvas 1.0 (early prototype!)

I have mentioned elsewhere that I might look into a version of space invaders in another language, most likely Python…however I woke up one night at 3AM with a different idea and figured a drag and drop Azure networking app would be a better use of my time.

Well, it’s debatable – I have deliberatly not looked to see if there are other applications like this around but I would virtually guarantee if I did then I’d find some. Feel free to add any you recommend in the comments. Nonetheless it isn’t the point. I wanted to do this myself and although it is still a work in progress I am happy with that progress so far.

This is version 1.0 and is a C#/WPF based app which allows you to design your network by dragging items from the toolbox on the left. You can right-click to update the properties of those objects once they are on the ‘canvas’ adding extra subnets if they’re vnets, OS versions/sizes/disk types etc if they VMs, zone redundancy, route types etc if they’re gateways, etc – you get the picture.

Objects ‘snap’ to the grid and snap to their respective vNets. The app will ensure that IP ranges don’t overlap and names aren’t duplicated. When you’re happy, if you’ve authenticated with your tenant, you can hit the ‘validate’ button to ensure it complies with what is actually available in Azure, eg some locations may not support certain VM sizings for example. If you don’t have access to log into your tenant then that’s fine too – the app provides some standard defaults.

Once you’re happy with what you have, hit one of the ‘generate’ buttons – Bicep or JSON to create an IaC template that you can import into your tenant and create the resources as you have designed them. Remember to save your diagram if you want to tweak it later.

As I say, this is a work in progress and there is still a lot of tools it is missing. Feel free to download the code from github and add new tools. I may do the same but I already have a 2.0 in the pipeline which is an HTML 5-based app which can be run direct from the web. This is also in the repo if you poke around but it is still in testing and requires more work. I will post here when I’m a bit further down the line on this one but it currently lacks a bit of the polish of this version, something that will be fixed in due course.

Download : GITHUB (full C# source)

https://github.com/bondy666/AzureCanvas/tree/4e1bcebae715a83362e6197d641dcf8ab82ed90a/AzureCanvas%201.0

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.