I am curious how other developers have successfully implemented a procedure for backing up Windows Azure data in SQL Azure, Azure Storage Blobs and Azure Storage Tables.
I know there are various tools out there that can perform backups of each Azure service independently but what would be some effective ways for tying this all together into a single system that performs all the backups and manages things?
I have thought about 2 possible ways to accomplish this:
- Use a CI Server (such as Jenkins) whereby scheduled jobs can be setup that perform each backup process. In this case there could be 3 schedule jobs each backing 1 Azure service OR I could have a single scheduled job using something like a PowerShell script to backup all 3 Azure services at once
- Create Azure Compute based worker roles to perform the backups. A single worker role can take on the task of invoking certain PowerShell scripts, 3rd party command line tools OR Azure APIs to backup the Azure services. That single worker role coud also be scaled out in the future if more performance was needed.
I'd very much appreciate some discussion about this if you have implemented or thought about other options or if you have some feedback for what I have described above. What are the benefits, what were the drawbacks... etc.