I thought I would blog out their nuggets of wisdom as they are quite good guidance and I haven’t seen it anywhere on the web.
Basically, my question was around managing configurations between dev, staging & production environments. For instance, if you’re pointing to an Azure storage account or an SQL Azure instance, you’ll probably want to have different data in dev, staging & production.
Well, the guidance is twofold.
1- Use configuration settings
Using the configuration settings within the Visual Studio Azure Service project is the way to control you configuration that will change from one environment to the other.
Because those configuration can be changed after deployment. You can do that in the web UI or even automate it through the Azure API.
2- Use different subscriptions
In any case, it isn’t recommended to use one Azure subscription for both staging (and/or QA and/or UAT) and production.
The reasons for that is that with a subscription corresponds a Live ID and at most 5 API certificate. Therefore the staff having access to your staging environment would also have access to your production environment.
Therefore, it is recommended to run your environment on different subscriptions and use the staging facility only to swap the production environment quickly.