Procore maintains a robust “high-availability” strategy to protect our customers against software problems, hardware failure, and even large-scale natural disasters. The pillars of this approach are redundancy, geographic diversity, and replication of data. These pillars protect our entire information technology infrastructure. All hardware and software used to store customer data and deliver the Procore application to our customers is so protected.
Procore maintains several replicas of the application software on each server. This replication allows for fast roll-back in the event of a software issue. We maintain the software on dozens of servers located in different secure data centers. This diversity protects against hardware failure and local service issues. In the event of any failure, our system logic sends any customer requests to another server. This redundancy allows us to service the affected system with no customer impact.
Procore maintains customer data and assets in our private and secure application database. Our service providers host the database in secure data centers. Procore’s “simultaneous replication” architecture maintains the data across these data centers. Data are written to independent servers located in at least three separate locations at any time.
All data are copied to off-site storage every 20 minutes. Replication distributes this offline snapshot across the United States. Remote copies are maintained in secure data centers. These snapshots allow a complete recovery of the database as-of the snapshot time, protecting our customers against a region-wide disaster.
Procore routinely tests and validates our ability to recover from a variety of problem scenarios. Our "test scenarios" range up to the scenario of total regional loss. Frequent testing ensures that our recovery plans allow us to meet or beat our aggressive recovery targets.