Cloning of Azure virtual machines made easy – How to clone an Azure VM using Azure Functions and Powershell

Today, Robert Horrion (@RobertHorrion) and me finished our newest GitHub project, which makes it easy to clone Azure virtual machines on demand using a web portal.

The initial challenge was: How could we allow an interested user (client) to “order” a new virtual machine that contains the demo-installation of a software product?

We solved it using an Azure Web-App for ordering the vm and an Azure Function that executes a Powershell script to clone the vm and send out a confirmation mail to the customer with the domain name of his new machine. The Basic Application flow Looks like this:

The scripts can easily be adapted to your personal needs like sending out notifications, or if you need additional data disks to be cloned or not.