If data is corrupted or lost in one or more of the application components, it is necessary to rollback these components to a previous state from a backup location. Because the components are from independent systems, with possibly different backup times, performing a rollback may require data synchronization between the components. This is a problem common to all integrated software platforms and Appian is no different in this regard.
The goals of data synchronization across systems after a rollback are:
Once components are rolled back, you need to determine what the data discrepancies are and resolve them. This process is application design dependent and there is no automated way to make the determination. Since you may have multiple applications deployed within the platform, this needs to be addressed for all applications.
As part of the post rollback data synchronization you may need to:
There are primarily four data components to be backed up:
Each of these components is backed up separately, yet all backups must occur simultaneously to ensure that during recovery, the system's data snapshot is synchronized and consistent. Otherwise, you might encounter synchronization issues.
The tools used to backup don’t matter, so use ones that you already have available and are comfortable with. Example tools may include:
A successful backup consists of several data components that were taken at the same time. Components backed up at different times cannot successfully be restored without synchronization issues.
Test the backup and restoration procedure as soon as possible after initial configuration. Do not consider either to be working until this is complete. Continue to test backup and restoration biannually thereafter.
See Configuring Backup and Restoration and Data Synchronization After Rollback for more details.
The frequency of the backup varies depending on the usage of the system and business requirements. Daily to weekly backup intervals are recommended. Production environments will generally have a lower tolerance for data loss than non-production environments. Determine your tolerance for data loss in each environment.
The more frequent a backup occurs, the more demand is put on the system resources. Backing up the Appian engines requires a checkpoint which locks activity in each engine for the duration of the checkpoint. This can take a few seconds to minutes depending on the amount of data and hardware performance.
Hardware solutions such as RAID and SAN replication can reduce the risk of data loss but are not a replacement for an actual backup.
External systems that Appian does not control the master data for may require additional considerations when restoring data. This is chiefly a consideration when integrating with systems (such as a database or web service) that will not have data restored in the event Appian is restored from a backup.
For example, take the following sequence of events:
Depending on the application design, this may be as simple as cancelling the processes or may involve creating reports to identify processes that are out of sync and using in-flight modification to “fast-forward” the processes to the correct state.