We usually take a full db backup and restore it on stage/test, and copies the AppData-folder.
If you need it to be "constantly" up to date I guess you could use mirroing (if it works on Azure...), even though I would recommend some job that backups/restores the data needed.
@Erik Nordin Wahlberg: We're currently manually backing up the database and unpacking it on the staging environment, as well as changing the settings under "manage websites" to fit this server. However, we're anticipating a more frequent deployment cycle so that option will no longer be viable. We're hoping to find an automated solution which can keep the data in staging reasonably in sync with what's in production (~1 week at most).
You could (reasonably easy) create a PowerShell script which would copy everything from the production database to the staging database, and then purge the staging blob storage and populate it with the blobs from production.
How long this takes obviously depends on the size of the DB and blob storage, and it will cause some downtime on the staging environment. :)
Might be an option, though?
@Ted: We have discussed that option internally, and it's the direction we're currently leaning towards. Unless a better option is discovered, it's likely the option we will go with.
We have a set of environments in Azure, each acting as a step in our deployment process to production. We have automatic deployment to an integration server, then manual deployments to Test/Acceptance, Staging, and finally Production via build definitions in Visual Studio Online. Each environment is hosted on Azure Websites.
Since the staging environment is supposed to mirror the production environment as closely as possible, we'd like to replicate the data from production on staging. What would be best practice when it comes to doing this with EPiServer?