3
votes

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:

  1. 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
  2. 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.

1
An important question is "Why do you want to backup"? Azure keeps your data very safe in multiple locations. The only real reason for backups is to prevent user/programmer error. (i.e. somebody accidently delete everything). but in this case there are other better approaches I think. Like not deleteing but marking data for deletion later and then have a job deleting old data.Cellfish

1 Answers

0
votes

Either way will work. I would probably go for the CI Server initially as it will be much quicker to set up and maintain. But it may not scale as well or be as reliable as having an Azure Worker role in charge of it.