Web Translate It’s backup strategy

By Edouard on May 31, 2011

Web Translate It hosts your data both on database and file system. We’ve almost 2,000 users, and host over 3.8 million translations, a bit more than 50,000 files and over 350,000 labels. We’re a small website hosting a lot of data to say the least.

Data loss is the worst thing that could happen to our service. It should be hard to lose data and easy to recover it.

Here’s a quick overview of what we currently do to backup your data.

Live streaming replication

First of all, we have a live database replication set up between our production server and a back-end server. The second a string is saved on the main server, it is copied over on another server. The servers are hosted on different datacenters and use different networks: the former is based in the United States while the latter is hosted in the United Kingdom.

Should the main server fail or be unreachable, we can start over the service on a new server in a matter of minutes.

Database images

Secondly, we create images (or dumps) of the production database 4 times a day, and we store backups at multiple locations: on the production server, on the backup server and on Amazon S3. We keep 12 backups on our servers and 6 backups on Amazon S3.

Additionally, every working day I download the latest database image and test re-importing it on my computer to make sure these images are actually working.

Snapshots are great to recover from a disaster, but there’s a maximum potential data loss of 6 hours.

New: Language files backup and versioning

Finally, and this is new as of this week: we backup your language files to a git repository every 5 minutes. This repository is pulled every 5 minutes by 2 different servers.

These backups don’t include comments, labels, or string statuses, but allows to recover strings and translations of your file from 5 minutes ago, one week ago, one month ago… Should you need a backup of your file, it is possible to recover it, so don’t hesitate to open a ticket on our support website.

As the service grows, this is important to constantly refine our backup strategy. More and more users rely on Web Translate It, so it is important to be more and more reliable.

In the future I will work on saving the whole project under the XLIFF format. This should include string statuses, comments, tags as well as the translations.