Over a million developers have joined DZone.

Making Backups VPS - How to Stop Worrying About Your Data

DZone 's Guide to

Making Backups VPS - How to Stop Worrying About Your Data

· ·
Free Resource

When hosting was gone into oblivion, it was too late to worry. Our website died on Friday, in the middle of intensive promotion. It was not possible to reach the tech support. Our colleagues were just shrugging. We were lucky enough since one of our developers had the old copy of the website. We have restored the data and the project has been saved. However, no one wanted to risk in the same way again.

It was 5 years ago. It was the first time we thought that we needed a reliable way to “insure/secure” our data. They have tried a lot of ways to do that. Now, when we have our own solution to the problem I would like to summarize the gained experience. Hope, this will be of value to you and will save you a lot of time and find a perfect service for backups.

In-house made scrypt

Advantages: cheap, flexible. Disadvantages: unreliable, no warranties. Suitable for: exotic projects, system administrators.

At the beginning we decided not to waste money and to write our own scripts for restoring the data. All the more, we have found a lot of variant on github. Five sleepless nights, a lot of coffee, and now I am a guru of bash, rsync and other technologies. When you are writing your own script it is very important to figure out where you back up your data and to ensure that you didn’t forget to back up the database as well. The obvious advantages are: flexibility – you decide what and where will happen; learning – while coding you will learn a lot about other languages, API, etc. By the way, you define the final cost. However, the price of a mistake is pretty high. You don’t want to lose a part of the project. Don’t you?) The cool thing here is that we identified that on the testing stage of the restoring. Economical drive shouldn’t be the case in the back up field.

Business solutions Advantages: highly reliable, technical support services Disadvantages: expensive, not accessible code and infrastructure Suitable for: medium and large enterprises

Unfortunately, we were not able to try this solution – web studious and startups where I have worked couldn’t allocate the budget for that. These are icebreakers in the world of backups. The serve large enterprises and they have started to do that longtime ago. If you have a problem, the tech support is right here for you. I mean Ashampoo, Acronis, Symantec, Handy and others. These solutions have high reliability, nice technical support service and the experience in the field. The only thing is thatthey are really expensive (more than 1000 $/year) for start-ups and freelancers. What is more, you never know what’s inside their software.

Hoster’s solutions

Advantages: low price, easily configurable Disadvantages: low confidence, low flexibilty Suitable for: plain web sites

Just recently I have been saved by a similar solution. One of my clients forgot to prolong his hosting and the web site was erased in a month. Fortunately, we were able to restore the data from the hoster’s backup within a day. The technical embodyment differs from hoster to hoster. In many cases you just need to check in that fact you want such service and that’s it. However, you never know where your data is stored. Furthermore, in most of the cases you can’t make it personalized: frequency of back ups, how much of old copies are stored, etc. The procedure for restoring is not transparent, which implies a lot of unknowns. Be careful and demand the precise information from the hoster.

Consumer's solutions

Advantages: low price Disadvantages: low reliability, no settings, low speed of upload Suitable for: small content driven web sites such as news portals, etc.

Dropbox, google drive,  box.com, crashplan and others are becoming popular, and, you’d be surprised, even for server’s backups. We tried this variant 6 months ago, and, I can assure youthat this solution is unsuitable for real projects. Usually, there is a script (for example, rsync every evening) and that’s it. It looks like a working solution. The main advantages is a low price. Suits for back up of media. It also haslot of disadvantages – starting from low speed of upload (20 kb/s) up to buggy console clients.

Three steps to be calm

Advantages: easy to install, easy to configure, reliable Disadvantages: not very flexible Suitable for: freelancers, indi-developers, startups, web service agency.

Then came the moment when starting a new project we said: “That’s enough!”. We have decided to develop our sterling service, which allows to be protected in three steps. For installing it you need just one simple command line.he control over backups (schedule, tracking, directory selection, etc) is done with a convenient web-interface. In some cases, there is not enough flexibility. However, we are sure that it will be useful for people like us: freelancers, indi-developers, startups, small enterprises (e.g. web service agency), who want to be calm about their data.

The client The client is developed in Python – this language is supported out-of-box on all OS for servers. The native code is published on  github.com and everyone can check us. The client will be receiving configurations from our service, archive specified catalogs and upload them on Amazon S3. The whole process is done via https.

Web interface

Web interface is developed with AngularJS and Django. Using one screen it is possible to configure multiple servers. For each of them you choose backuping catalogs, parameters of connection DMS and data bases. The schedule for making backups is very flexible. In the history you can see all done backups, including status, size and time.

Amazon S3 One of the most popular services for data storage. We create private and isolated bucket for each user, which makes the “leakage” impossible. All backups are stored on Amazon S3 in the encrypted form.

Feedback Right now we ( bitcalm.com) already have launched the stable version of our backup service.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}