What's the best practice for routing traffic away from an Azure website / role when you want to run an update.
Would you simply route away traffic using the Traffic Manager and wait the 5 minutes or however long you have the DNS TTL set to? That would work fine but it adds a lot of delay to deployments. Is there a better/faster way to route traffic away during a deployment?
You need to use what is called "Staged Deployment" in Azure.
When you create a site/role on Azure, you're actually using a production environment to host your site/roles in, this production environment is live and is serving people in real time, thus you can't actually do testing and bug fixing on it.
The Staged Deployment solution, you can create a replica of your production environment, this environment is live but it is not being used to serve people on the internet, so you may use it for your testing and bug fixing purposes.
Once your testing and fixing is done, you can "swap" both environment by a click of a button, where the production will become a staged environment, and the staged environment will become a production.
The benefit of this approach is that
More info can be found here on how to use and activate the feature: http://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/
Hope this helps.