We hope this post will provide you with a comprehensive understanding of the infrastructure we have in place to ensure a reliable and secure user experience. It will address a number of questions that we frequently receive:
- Is your data backed up?
- What happens if the server goes down?
- What about security?
- Do you monitor the servers 24 hours a day?
Reliability and uptime are essential, so let’s get started.
When you type http://school.managebac.com into your browser, your computer sends a Domain Name System (DNS) request to determine the corresponding IP address (e.g. “22.214.171.124”). This is the unique identifier for our servers akin to a phone number in your address book. We use more than a dozen name servers around the world to ensure that whenever you type our address into a browser, you will be routed to our servers reliably and efficiently. In addition, we have a failover and monitoring service that operates 24/7 ensuring 100% DNS reliability.
Once your requests have been received, our servers return the pages, files and images that you have requested. The key thing here is reliability and speed. On average, our servers return requests to you in less than 160 milliseconds (~1/6th of a second). Next, depending on your location, the data travels across land and sea to reach your computer (this typically adds an additional 500 ms to two seconds depending on your country’s network). Our servers are primarily hosted in the RackSpace Cloud in a data center with redundant high-capacity power feeds, UPS power backups, fully redundant HVAC systems, controlled temperature and humidity, fire threat and detection, 24/7 critical monitoring and manned security. We are also secondarily hosted in Montreal, Quebec in a similarly outfitted facility.
We use NewRelic Rails Performance Management to monitor and analyze our application response times. This allows us to pinpoint areas that are slow or that require optimization. It also automatically notifies us when any part of our application slows down.
We make use of extensive caching throughout ManageBac. Caching allows us to pre-load sets of information (such as summary data of CAS activities, or long lists of students) that would alternatively have to be loaded at the time of your request. You can think of it like a LEGO castle, instead of waiting for your request to start building and putting the LEGO pieces together, we do this in advance, so that your castle is ready instantaneously.
Backups and Data Protection
Murphy’s Law dictates that, “Anything that can go wrong will go wrong”. While we are not pessimistic by nature, we plan for the worst. Servers go down, hard drives break, and accidents happen, which is why we have three layers of redundancy. The first layer involves a redundant database that duplicates all of our records in real-time. For example when a new CAS activity is added, it’s name, dates, supervisor information, etc. are all duplicated across both databases. Secondly, we have daily disk image backups, which are automatically done at midnight EST. Thirdly, we encrypt all of the disk images and store them off-site three times each week. These encrypted backups are stored on Amazon S3’s distributed storage network ensuring that if a hurricane, terrorist incident or act of God were to occur, your data would be safe and out of harms way. Lastly, we have an extensive set of soft-deletes in place throughout the system, so that if you accidentally delete a file or set of records, we can restore them for you, typically within 48 hours.
Our servers are monitored night and day in 30 second intervals, and we are notified via e-mail instantly if any issues arise. Since inception our server uptime has exceeded 99%. Thank you for your reading about our infrastructure, we hope that this has allowed you to better understand the steps that we have taken to ensure that ManageBac is reliable, responsive and secure. If you have any questions please feel free to contact us directly at firstname.lastname@example.org.