plugin: DataPower Rollback - ibm-datapower/datapower-configuration-manager GitHub Wiki

DataPower Rollback

Through IBM UrbanCode Deploy, one can easily rollback to a working state if problems arise. However, it requires the UCD manager to be proactive in what component versions are the "working" versions. The Rollback Scenarios in IBM UrbanCode Deploy video provides a high level overview of how one might implement a rollback strategy in IBM UrbanCode Deploy. This video is not DataPower specific and can be applied to nearly all integrations.

DataPower offers two different methods to perform a rollback: Backups and Checkpoints. When the DataPower reaches the correct working step, IBM UrbanCode Deploy needs to properly document this state. This is done by creating a Snapshot that contains all versions necessary to recreate this state.

It is important to understand how these versions make up your working state.

Full Backup

In most instances, a full backup is enough to bring DataPower, or other integration strategies, into a working state. Through this method, one would take advantage of the Backup Device or Backup Domains steps. These processes will save a complete record of the DataPower's state. This artifact can then be saved as a component version within IBM UrbanCode Deploy. Then, to perform a rollback to a working state, simply run the Restore Backup with the specified backup version.

Additional Configuration Changes

Sometimes, version artifacts take the form of a configuration changes. If this is the case, then you will need to start at a base state. Whether this is a blank DataPower server or based on a specific backup, IBM UrbanCode Deploy will need to begin with that baseline state. This can be achieved through the Full Backup process described above. Once set, UCD can then incrementally apply the various configuration changes to create the defined working state. This approach, because it requires significantly more working components, should use the snapshot approach to manage versions.

Timed Backups

Through IBM UrbanCode Deploy's scheduled deployments, one can configure daily/weekly/hourly backups. Through this approach, the UCD manager can configure a backup to be taken at a set increment.

Defined Backups

The other approach is to make them a requirement of some other process. This can be configured in an Application Process to certain environments. For example, to deploy to a production environment, you define an initial process that first takes a backup of the production device. Therefore, if things fail during or after deployment, you immediately have a backup ready. As explained in the linked video above, this rollback can be an automatic process. This ad-hoc approach ensures you only take backups as necessary however, it may does slow down your release deployments.

DCM and the plug-in do not offer an innate way to restore DataPower to a particular point in time. DataPower backups through IBM UrbanCode Deploy require a proactive approach that records the necessary information in the form of UrbanCode versions and snapshots. Fortunately, if configured correctly, this can be transformed into an integral part of your deployment process.