It's easy to deploy a single virtual machine in Azure, but as soon you want to deploy more workloads in a single, reproducible way, you need some sort of automation.
In Azure, you can use the Azure Resource Manager to deploy virtual machines using template configuration files together with Bash, PowerShell, Ruby, and C#. Other deployment methods are available using third-party tools such as Packer and Vagrant.
All the methods described are using available images, but it's also possible to create your own custom virtual machines.
Before going into the configuration of all the possible options available, it is important to be aware of the different deployment options and why you want or don't want to use them. You have to ask yourself some questions first:
- When are you going to deploy your application?
- What parts of the workload should...