Taking a little break from talking about Tiny Hawk to talk about backups. I spent a bunch of time looking into different online backup services, so I thought I should write a little bit about them. I feel like this should be useful to other enterpreneurs or just people with data they don’t want to lose. I should note that I wrote some of the following a few months back, but I only now took the time to finish the post and updated it with some of my latest thoughts:
Since I’m running my own business now, I have to be extra careful about my data. That means I gotta back everything up. Now, local backups are all right, but if my apartment burns down, I’m out of luck. That’s why I’ve chosen to use an online backup service.
Here are my requirements:
- Automated backups
- No restructuring of my data
- No required action for adding new files and directories
- Light on resource use
- Linux and Windows support
- Easy restoration of files
This should be pretty much a given, and most backup services do offer automated backups. That’s pretty much the whole point, I think.
No restructuring of my data
Some services, like Dropbox, require you to put your files in a special backup folder. This is probably fine for more casual use, and might even be better if you want to easilly control what data gets backed up, since you can move stuff in and out of that special folder. I don’t really want to have to do that though, and I have stuff that I can’t really move easilly, like my Cygwin home directory. Most backup services do offer this, but Dropbox is a significant exception since it’s pretty popular.
No required action for adding new files and directories
What I mean by this is that once I’ve added my home directory to be backed up, I want the service to keep backing up any new stuff I put in there. The options that I have on the table will all do this, but I thought it was worth mentioning.
Prices vary from service to service a lot. Some services charge per gigabyte, some have unlimited data, and some have tiered pricing.
Backblaze might currently be the cheapest option, since they offer unlimited data for just $5 a month per computer. SpiderOak is also fairly good at $10 a month for 100 gigabytes. Jungle Disk will only charge me $3 a month as a baseline and then $0.15 a month for each gigabyte beyond the first 5, so that’s cheaper than SpiderOak until you hit about 50 gigabytes.
Light on resource use
I found this to be a problem with SpiderOak and Backblaze. SpiderOak would hog a lot of memory, which was especially a problem on my Linux server which only has a gigabyte of RAM. It seemed like the program was actually leaking memory, which is very bad indeed. Both SpiderOak and especially Backblaze also used a lot of CPU to do their work, and would interfere with regular use of my computers. I should note though, that I did this testing a while back, and Backblaze just released a new version that’s supposed to have better performance.
I found that Jungle Disk does an amazing job with not hogging my CPU much at all. I’ve been running it for months now, and I haven’t really noticed any CPU usage problems with either of my computers. Memory usage however seems to be a problem on my server. It seems like there’s a memory leak that will slowly bloat up the Jungle Disk process. It’s not too fast at that though, so I could just restart it every month or so and it wouldn’t get unwieldy.
Linux and Windows support
This category is pretty clear cut. Pretty much all services support Windows. SpiderOak and Jungle Disk support Linux. There are also options like rsync.net and Tarsnap which are pretty much geared towards Linux users and techies in general. I would rather not use those on my Windows desktop though.
Easy restoration of files
Backing up your data is important, but what could be even more important is getting your data back. With Dropbox, it’s really a non-issue because of the way it works. You’ll be able to connect back to your special Dropbox folder, and it’ll still be there. If you want to restore old versions of your files though, you have to go to their website. That process could be better. The other service that’s an odd one out is Backblaze. You can download a ZIP file or have them send a DVD or a USB drive in the mail. I feel like this isn’t very elegant, although it does work, and the physical media option would be nice if your network connection is slow and you needed to restore a lot of data. As for others, I think I like JungleDisk’s restoration method the best. I can browse through my backups in any revision that I have saved, so I can easilly restore any folder or file I want from any point in time, which is very handy. SpiderOak seems to let me choose revisions of individual files, but I couldn’t figure out how to restore a specific revision of a whole folder.
After testing a few different options, I’ve found some gripes with each, and some good things too. I’ll go through them service by service:
- Dropbox: A popular choice. What I like especially is the ability to share a folder and collaborate with other people. This works especially well because Dropbox is so popular, so most people will already have it, so you don’t have to make them jump through a lot of hoops. Dropbox is somewhat more pricier than some of the other options though, and there has been some doubts raised recently about their security. I will continue using it for folder sharing when I need it though.
- Backblaze: Inexpensive and you get unlimited data capacity. That’s a pretty good deal. I’m not a big fan of their ZIP file based restore system though, although the option of having them send physical media is nice.
- SpiderOak: They seem to have a bunch of things going for them, but I had problems with CPU usage and memory usage especially on my server. The UI also seems to have some performance problems, so selecting the files to backup can be a bit more tedious than it needs to be. I do appreciate their attitude towards open sourcing their code, security, and their customer support. They also offer really good referral bonuses (free gigabyte for each friend referred, up to 50), which is nice.
- Jungle Disk: I’m really liking Jungle Disk so far. I’m using their Desktop version, which is great for a single user use case. The restoration utility is great, they seem very secure, and apart from the memory leak on Linux, performance has been great. They also have a network drive and syncing options, which I wasn’t really looking for, but I still like having those features for syncing files between my computers. No sharing features though, but I have my own server, Dropbox, imgur, github, bitbucket, etc. for handling that when I need to, so it’s really not a big deal.
One extra honorable mention goes to Tarsnap. I actually may end up using it on my Linux server. Tarsnap is a commandline only program for $0.30 a month per gigabyte. It seems very secure, and I think it’s a better solution for a server than any of the options I mentioned. I wouldn’t use it on a desktop though, but between Jungle Disk and Dropbox I think I have that area covered.
So, the overall winner of my comparison is Jungle Disk. I did look at services other than the ones I listed above, so if you’re interested in any others, let me know in the comments. I may have tried it or at least looked into it.
Update: By request, a couple of pricing charts for a few services:
Dropbox’s pricing seems to jump up to $800 after 100 gigabytes, but that would have ruined the chart, so here it just drops to zero. Doesn’t mean that it’s free after that. ;) It’s pretty easy to see here that if you have a lot of data, Backblaze is going to be very cost effective because they offer unlimited data. If you did have a lot of data though, I would feel like restoring them as a ZIP file would be pretty annoying. Of course you could opt to pay them to send the files on physical media ($99 for a DVD, $189 for a USB drive), which would probably be pretty convenient depending on how fast your internet connection is and how well you trust shipping your precious data in the mail, or whatever service Backblaze uses to send the data. A year back Backblaze customer support did tell me they have plans for implementing a restore function using the client program, but it doesn’t seem like that’s available yet.
Update: Looks like the images ended up getting scaled down, so I have reuploaded them on imgur at full resolution.