Backups

Developers are really bad at keeping backups.

And sadly the same applies to almost everyone else on this planet.


Things break. Maybe they don't break that often if you're lucky, but they always break. Personal files, work documents, code-you-didnt-git-push-yet-because-youre-lazy, everything. Every day there's probably at least one person who looses one of the aforementioned.

We recently had an incident at openings.moe (Which was entirely my fault btw, soz), recently meaning January 27th, almost two weeks ago. A tabs to spaces conversion went ballistic and broke everything. Even our binary video and image files were corrupt. I still have no idea how I managed this. Since all I did was run a find for PHP files and execute expand on them, but that's beyond the point. Point is that everything broke. Horribly.

How much downtime did this cause? 4 minutes. Because backups rule.

I'm proud to be among the ones who have reasonable backups of all my stuff. There are multiple forms of backups, each with their advantages and disadvantages, some work better than others. Though the recent incident made me think a bit about what the advantages and disadvantages actually are.

"The cloud"

This is the most popular solution for individuals, mainly because it's the simplest one and often pretty cheap. (Also they used to advertise like crazy and still beg for referrals all day long, ugh.) Get an account with Google Drive or Dropbox, throw your files up there and call it a day. It broke? Tough luck, it's their problem and you can blame them as much as you want.

They have desktop clients to sync your stuff to the service and work really well for old grandma who only wants to keep an extra copy of her photos. For regular users, this is often the way to go. The main drawback of this solution is scaling. The value usually drops off the larger your storage plan is.

If we use Google drive as a sample, they charge $9.99/month for 1 TiB. That's pretty reasonable. But the issue is that they charge that rate no matter how high you go. A 30 TiB plan will cost you $299/month - Which can be a pretty horrible value. You also have to manually scale your account up and down.

Physical backups

This is the most common on-site (and sometimes also off-site if they have a storage location) backup for businesses. Individuals who want to archive files on a shelf also use this method most of the time.

This is the oldest and most reliable method. You take your files and put them onto physical storage. An external hard drive, DVDs. Or in more recent times, Blu-Ray discs. Those burners are slowly becoming more popular. A business would usually use something called a "tape", which are slow and have expensive readers/writers but in return offer the lowest price per GB.

The advantage of this method is that you own everything. You're not renting space or services. You're just buying space for yourself. No one can see your data and it's cheaper than online services over long-term since it's all a one-time cost per hard drive.

The drawback should be obvious, it's a hassle. Having to dig out the HDD and plug it in every time you want to add something to it or read something gets tiring. Especially if you've filled one HDD so you're now fiddling with multiple ones.

NAS/Storage server

This is generally one of the most balanced solutions. You basically buy a NAS or get a storage server. If you get a NAS it will usually work similarly to a cloud storage service. The same can apply to storage servers if you install something like ownCloud.

They also provide one of the best advantages. The fact that it's local and network attached. This allows you to "mount" your storage location as if they were files and folders on your own computer. Meaning that if your local network is fast enough, you won't even notice that files are on a server and you can barely tell that they're not on your computer.

The main drawback to this is unfortunately the fact that they're also servers. They spin the disks, they generate heat (especially if you just leave them and they get clogged with dust) - Meaning that they can also fail. Even though it's the most practical, it's also the solution with the highest chance of failure. It's recommended to have additional backup solutions than just a NAS or storage server.

Object storage

This is what I use and they're the most common form of offsite backups in most businesses. It's a pretty simple concept and it's similar to the cloud, but it works a bit differently. Examples of Object storage services are Amazon S3 and Backblaze B2 (Which is the one I use)

These services usually just provide an API and a basic web UI, they then trust you to write scripts or use third-party tools. In my case I have a script that just kicks off rsync to get files from all the servers I want and then it pushes those files and folders to Backblaze B2. Easy as pie (Disclaimer: I am not good at making pie)

The main advantage to these services are their scaling. You only pay for what you use. If you need 52 GiB of storage, you don't pay for the 100 GiB plan because 50 GiB just barely isn't enough. You just pay for 52 GiB. The drawback is that this is probably too complicated for the average user. On the flip side it means that you earn 10 nerd points if you use it.

Paper

This one might sound weird. Because it is, but it's surprisingly common at workplaces.

Sometimes you just don't trust the virtual world to store your work documents. So what should you do? Print them. Keep an old-school copy of the really important stuff and tuck it away somewhere safe. The main advantage to this is that it's pretty much impossible to lose the data in any scenario unless you forget where you put them or don't keep them away from things like water.

The drawbacks for this one should also be obvious. It's paper. You can rip it, you can physically lose it and organizing them is a pain in the ass. And the worst one: It only works for documents and photos. I mean I won't stop you from printing flipbooks of all your video files, but I'd recommend against it. Printing a database dump wouldn't be that pretty either.

TL;DR: Optimal for grandmas who want to print their photos or a business who want to keep stuff in a safe location. Otherwise, get with the times kiddo.

Others

Do none of the above fit you needs? Well, luckily businesses all around the world are really crazy about backups, so there are plenty of services. For consumers you might want to take a look at something like Backblaze's regular service. Server owners might be more interested in something like rsync.net


This was my objective comparison of backup methods, it's something that was simply born in my mind while thinking about backups after that openings.moe incident. I won't draw any conclusions since what works best for you will vary.

But if I'm lucky, this helped someone out there decide on their backup solution.