Chapter 7: Deploying Your Virtual Machines
It's easy to deploy a single virtual machine (VM) in Azure, but as soon as you want to deploy more workloads in a single, reproducible way, you need some sort of automation.
In Azure, you can use Azure Resource Manager (ARM) to deploy VMs using template configuration files together with the Azure CLI, PowerShell, Ruby, and C#. Other third-party tools used to create images for VMs, such as Packer and Vagrant, are discussed later in this chapter.
All these deployment methods or image creation methods use images from Azure, but it's also possible to create your own custom VMs with custom images.
Before going into the configuration of all the possible options, it is important to be aware of the different deployment options and why you should or shouldn't use them. You must ask yourself several questions first:
- When are you going to deploy your application?
- Which parts of the workload should be reproducible...