Using Infrastructure-as-Code principles with configuration through machine processable definition files in combination with the adoption of cloud computing provides faster feedback cycles in development/testing and less risk in deployment to production. The Microsoft Azure Cloud (https://azure.microsoft.com/) allows different ways to provision, deploy and run your python service:
The Azure Resource Manger Templates (https://azure.microsoft.com/en-us/resources/templates/) allows you to provision your application using a declarative template. With parameters, variables and Azure template functions, the same template can be used to deploy your application in different stages (dev, test, production) and environments for different customers. We open sourced the tropo library (https://pypi.python.org/pypi/tropo/) to create Azure Resource Templates from python.
Azure SDK for Python (http://azure-sdk-for-python.readthedocs.io) for a low level access to manage resources in the Azure Cloud.
An Azure Ansible Module (https://docs.ansible.com/ansible/guide_azure.html) based on the Azure SDK to automate software provisioning, configuration management, and application deployment in a single environment.
Each of the alternatives has different strengths and drawbacks. Presenting our learnings from migrating our infrastructure into the Azrue Cloud will help to avoid common pitfalls and show deployment patterns that will ease the live of devops.