Tuesday, December 20, 2011

What's your backup solution?

Over the past twelve years I can remember three separate hard drive failures; two on work computers.  Those are the ones I can remember, anyway.  After the second one, I started getting serious about backups.

I had written a VBScript back in 2000 that I used to archive my library every day using 7-zip - a poor man's version of source control.  At first, I burned those archives to cd-rom every month or so.  In fact, I still have a few of those cd-roms floating around my home office.  Now, this didn't just include my archive; it included all the software I had dealt with - specifically the software used for integrations.  It was mostly RADIUS servers, email servers and a couple ftp servers - along with license keys, notes, sql, help files, contact names and phone numbers (basically everything needed to start over in case of catastrophic loss).

Eventually, I moved from writing software integrations to a proper software developer.  I was actually doing double duty then, writing both software integrations and adding new features for the Platypus client.  So, I got to enjoy the wonderous world of source control for Platypus, but integrations still stayed in zip's.

Of course, after my second hard drive crash, that backup solution just wasn't enough.  Cd-rom's take up physical space and required keeping track of where they all were.  They did contain sensitive information, after all.  So, I had to be careful with what I did with them.  Anyway, what I really wanted was a daily reusable system that I could use to back up everything - including source code not ready for check-in - that preferably didn't involve cd-rw's.  So, I bought my first USB drive - the Soyo Cigar Pro 128MB USB Flash Memory Drive for $72.94 on Feb 7, 2003.  I know it isn't much now, but back then it was an amazing thing - solid state engineering at its best.

At that point, I reconfigured my VBScript to zip and copy everything over to the flash drive, which I dutifully ran every day before going home.  I even used a combination where I would fill up the flash drive, and then copy everything to a cd-rom.  Actually, I only kept Friday backups in an effort to cut back on space, which meant I only had to burn a cd-rom every three to six months.  That was much more acceptable than a new cd-rom every month, and it made sure I had valid daily backups with a decent historical archive.

From there, I moved from using a desktop to a laptop for development and integrations fell by the wayside, but I still performed a daily backup of all the source code I was writing on a daily basis.  I moved to a 256MB flash drive, then to a 512MB and finally to a 2GB.  Since I didn't need integrations backed up, I dropped cd-rom's altogether and kept only source code backups for a month or two.  If I needed something older, it belonged in source control.

Today, all of that has changed.  I'm back to using a desktop and I don't use either flash drives or cd-roms for backups.  I now use a combination of RAID 1 and IDrive and VMWare for backups.  Sure, it's only RAID 1 and it is Matrix RAID, at that (instead of a hardware based RAID); but that was enough when one of the drives died suddenly.  Probably the best decision I made when getting my desktop from Dell was to get RAID pre-installed.  Since then, there haven't been any problems, but it is nice to know I am covered in case of catastrophe.  Even better, is the fact that I no longer have to put forth any effort to ensure my data is backed up.