Automated deployment options
After this long introduction, it's time to have a look into the available options that make it possible to automate the deployment of your workload:
- Scripting
- Azure Resource Manager
- Initial configuration with the Custom Script Extension
- Initial configuration with cloud-init
Scripting
Automation can be done with scripts. In Azure, there are many options supported by Microsoft:
- Bash with Azure CLI
- PowerShell with the AzureRM module
- Python, with a complete SDK available (https://azure.microsoft.com/en-us/develop/python)
- Ruby, with an SDK available (preview) (https://azure.microsoft.com/en-us/develop/ruby)
- Go, with a complete SDK available
- And there are libraries available for Node.js
Besides that, you can use programming languages such as Java (libraries available) and C#. There are community projects as well, for instance, https://github.com/capside/azure-sdk-perl is an attempt to build a full Azure SDK for Perl.
All languages are valid options; choose the language you are...