How good are your backups?

Just over a week ago, I was woken up by a friend calling me to tell me that our office was on fire! This is not a very pleasant way to wake up and I hope it never happens to any of you, however it did happen and everything inside our office was totally destroyed.

Not good.

After finding out everyone was safe and unharmed, my first thought was to think of our data. We are a computer based knowledge business and our business lives and dies by the data that we create and work with every day. We were very lucky that we had a fairly solid backup strategy and did not lose anything that could not be replaced by insurance in the fire. I am writing this post to hopefully help some of you get into the same situation.

Friction is the arch enemy of backups and people are forgetful. The key thing about most of my backup strategy is that I can be lazy and still have everything important nice and secure. My core business data is backed up almost instantly using four different services that I absolutely love (even more so now!).

  • Dropbox. I store my entire Documents directory on Dropbox and work from it every day. The instant that I save a file it is uploaded onto my Dropbox and automatically synced with 2 other machines as soon as they are switched on. This gives me 4 copies of my data at all times, all stored in separate physical locations. This is by far the lowest friction services I use for backups as I do not need to do anything to backup my data and I can not recommend it strongly enough, sign up right now.
  • Gmail and Google Calendar. Since starting Shiny Development in 2006, we have used Google Apps (mainly Gmail and Google Calendar) to manage all of our email and calendaring. Every email I have sent or received is available from anywhere I can find a browser and all stored securely by Google. If you are still using non-web mail then you really need to change.
  • FreeAgent. We have only recently signed up with FreeAgent but we now store all of our business quotes, invoices, client details, expenses (including receipts) and accounts with this service. I finally signed up after glowing recommendations from several friends, and I recommend you do too.
  • Github. Every piece of source code written since we founded our business is now stored in Github. The IP in our source code is our most important asset and I do not consider source code to really exist until it is pushed to Github and then pulled in at least one other location (usually my laptop). The pushing/pulling of source code is the only manual process in my backup strategy but source code is so key to what I do every day it has become pure habit to always push at the end of the day. (I also have a post-commit hook on Github which clones my important repositories across to Codebase HQ whenever I push to them as a final belt and braces backup of really important source code!)

Gmail and FreeAgent are slightly vulnerable here as I do not have a local backup of either of these services. FreeAgent has a data export option and I am planning to set up an automated task to download and encrypt our accounts data on a weekly basis. I really don’t have a good way to keep an automated local copy of Gmail so our trust is placed firmly in Google’s hands for now with that one.

We did however lose a few bits of non-essential data. All of my user settings in the ~/Library directory were only stored on our time capsule backup, as was an old backup DMG of my old laptop (although after not touching it for over 12 months, it is unlikely to have had anything important on it). These final pieces of data could have been saved by using one of the many online “full system” backup services like Backblaze or Mozy.

If I could sum up this post in two bullets, this is what I want you to take away:

  • Local backup (External Disk/Time Machine/Time Capsule) is a backup purely against hard drive failure and nothing else. If this is your only backup strategy, it is not good enough!.
  • If data doesn't exist in at least 3 places, it isn't backed up. Use internet backup services. If I could recommend only one, it would be Dropbox.

When thinking about this backup strategy I kept thinking of the old saying “Backup always works, it is the restore that fails.” and I tried to make use of services that use “restore” as an integral part of the day to day use of the service. There was at least one company affected by the fire here that thought they had backups but when they came to restore them, it failed and they lost their data. With something like Dropbox, I can quickly and constantly see if the files are not transferring properly as they will not be available on my home machine or my laptop.

The most distressing part of the fire for me was losing the office that we have been a part of for 4 years now. Not so much the bricks and mortar, although it was a lovely building but the people who worked there who are now either scattered across other offices in Chester or sadly out of work because of it. Material possessions mean very little compared to the community that was lost in that fire. We were very lucky that we did not lose anything really important and my sympathy goes out to all the businesses that were not as lucky as us.

If you would like to comment on this post, please reply to @daveverwer on Twitter.

What We Do

Interested in getting your team up to speed on iOS? Check out our in-house training course.

iOS Dev Weekly

We also run iOS Dev Weekly, a free weekly email with 10 or so links to the best blog posts and articles on iOS development for the week. If you are interested in iOS development then it is likely that you will find something of interest in iOS Dev Weekly each week. You should subscribe!.