We introduce in this chapter an example of disaster recovery policy for an ERP application used for managing payments in public transportation industry. The application which needs to be recovered is complex cluster of services based on open source ERP5. Service include SQL database, NoSQL database, NoSQL cache server, HTTP front-end, HTTP cache, SMTP gateway and conversions server.
Test Case: the test case of ERP5 is defined by the possibility to print and deliver a new label to a consumer, by the possibility to import raw payment data and by the possibility to generate invoices for each customers.
Build Procedure: the installation procedure of ERP5 is defined in a buildout script. The building script defines how to rebuild each software component and configure a cluster.
Backup Procedure: each SQL and NoSQL database produces a daily dump of its content in a format optimized for fast transfer. A backup server connects to SQL and NoSQL databases in read only mode to collect dumps. Data is then pushed to 3 copies of SQL and NoSQL databases. The application itself is kept on a cache server in France, Japan and Brazil. Even in case of unavailability of official source servers of ERP5, copies of binary and source code of the application are kept automatically in 3 continents.
Recovery Vaults: 3 recovery vaults are reserved to VIFIB which itself relies on 2 providers. One vault is in a data center in France while the two others are located in small offices and homes in Japan and Brazil. A fourth recovery vault is kept directly by Nexedi at Lost Oasis.
Automated Tests: ViFiB is used to start build and recovery tests on a daily base on one of its disaster recovery vaults, located in a data center.