Disaster Recovery
We utilize Microsoft Azure as our underlying hosting infrastructure. ShopperMX relies heavily on 3 major components in Azure -- SQL Azure, Unstructured (Blob) storage and Compute (CPU/RAM). Our DR process has an Estimated Recovery Time (ERT) of 48 hours.
In the case of SQL Azure, Microsoft has replication procedures in place to mirror databases inside the same data center, so there are 2 secondary copies running. This is a transparent process where they manage the health of the underlying database infrastructure for us. If the database fails, their first option is to failover to infrastructure inside the same data center, this again is transparent. Microsoft SQL Azure also uses geo-replication features for databases, with varying Recovery Point Objectives (RPO). ShopperMX uses multiple databases that have different recovery point objectives, the lowest of those would be 1 minute if an entire data center goes offline, with an estimated recovery time of 2 hours. Again, much of the underlying process to handle this is available out of the box on Azure.
In the case of unstructured storage, ShopperMX utilizes another component called geo-replication -- which replicates our unstructured storage automatically across Azure data centers that are hundreds of miles apart. Because of this capability, if an Azure data center goes offline, our unstructured storage is available to us, transparently.
That leaves only our compute instances which is where all of our logic runs from. ShopperMX uses many compute instances in Azure that are at the very least, load always balanced with at least 2 instances. This allows us to take advantage of Azure's 99.999999% uptime SLA. We have auto-scale procedures in place for these instances that are using a combination of CPU and RAM usage to scale up as traffic increases and then scale back down to at least 2 instances as traffic slows. The deployment of all our compute instances is through automated scripts running on top of Azure deployment APIs, which allows us to target different data centers if our primary region goes offline. The entire codebase which gets deployed is stored outside of Azure.
Data Backup
We utilize Microsoft SQL Azure for our database stores. Our backup procedure is a 35-day retention policy allowing us to have point-in-time backups at any point during those 35 days. After 35 days our backups are stored with the ability to recreate a backup of a specific day, we store these backups for at least 12 months. We have seen this policy work well for ShopperMX clients and have yet to issue a restore or recovery for any client data since launch in July 2013.
Notification
In case of a significant disaster-related outage, users will be notified within 8 business hours.
Revision History
| Date of Change | Responsible | Summary of Change |
|---|---|---|
| March 2026 | ICS InfoSec Team | Published to Trust Center |