Backups and Reliability
Last updated: November 30th, 2019
So far in these security articles, we've discussed the measures we take to ensure that there is no unauthorized access of your data. This article focuses on the opposite: ensuring that the data is always available to you when you need it.
1. Backups - Aside from having your data stolen by a hacker, the worst thing that can happen with any CRM is for your data to get deleted in an unrecoverable way. This is especially a risk if you store the data on your personal computer rather than online. With Less Annoying CRM, you don't have to worry about that. We have four layers of backups for you:
- When you delete a record in the CRM, our standard approach is to just "archive" it so that if you need to recover it, it's just a matter of unarchiving it. This is the easiest way to recover data in most situations.
- We keep a real-time backup of our main database, so that in the event that there's a site-wide problem (like a bug in our code, or a server error) we can rollback to pretty much any moment in time over the previous day.
- Every night we export a copy of the entire database. We save these nightly backups for the last 30 days, and one per month for the last year. If something bad happens to your account (like if a disgruntled employee tries to mess up all your data) and it can't be restored using the first option for some reason, just contact us and we can restore your account to one of these nightly backups.
- In addition to keeping the nightly backups in our main data center, we also send copies of it to a different Amazon data center on the other side of the U.S. in case some sort of major disaster hits the main data center. To be extra careful, we also send a copy to be stored in Microsoft's cloud storage so that even if all of Amazons hosting worldwide is completely destroyed somehow, we'll still have backups. It would take some time to get the software up and running after an event like that, but your data would be intact.
- (Bonus 5th option) Exporting - If you're really paranoid about only having your data in the cloud, no problem. Just go to the export page in your settings section and you can download your data anytime you want.
2. Database failover - In addition to having backups, our main database has an exact clone of itself that always stays up-to-date. This way if our main database goes down for some reason (servers have weird glitches sometimes the same way normal computers do) we can flip over to the clone without needing to wait for a fix to the main database. This limits the length of downtime.
3. Downtime monitoring - Obviously our goal is to never have downtime, but a reality of technology is that sometimes it does experience problems. We use a service called "Uptime Robot" which monitors our site and notifies us in the the event of downtime so that we can fix it immediately. At the time of this writing, Uptime Robot reports that we've had about 1.75 hours of downtime over the last year.
4. Improvements on the way - We're proud of how reliable Less Annoying CRM has been over the years, but as we grow, we're setting our sights even higher. Our co-founder Bracken King leads "DevOps" which includes site reliability, and there are a number of major improvements coming in the future. We're specifically calling this out because unlike new features and other user-facing improvements, no one notices when site reliability gets better, but it's still a very important thing to work on.