Unico Hommes

Jun 15, 2015

Simplify Upgrades with Hippo's Synchronization Add-on

Hippo CMS 10 (and Hippo CMS 7.9.8 ) features a new add-on that is intended to help get your project to production and to smoothen the process of continuous delivery.

One of the challenges you face in this process is to manage the cut-over from the previous version of your project to the next. Organizations typically require that the content-freeze period be kept to a minimum and that when a blocking problem is found in the upgraded environment they can easily switch back to the previous environment without loss of content. Hippo’s new synchronization add-on will allow you to do just that.

Blue and Green Environments

The basic idea is to have two environments to switch between, sometimes referred to as blue and green. While one is running live, the other can be upgraded. But since Hippo requires the different environments to run on separate databases content entered in one environment will not reach the second environment automatically. This problem is what the synchronization add-on helps to overcome.

Upgrade and Switch

When you’ve finished the final testing phase of the new version of your project and are ready to bring it to production, you start the upgrade process by copying the production database backing the live environment. You then perform the upgrade in the idle environment on the copied database while your editors continue to work in live. There is no pressure to do a rush job to shorten the content-freeze so you can thoroughly check that everything is working fine. Finally you synchronize any changes the editors made in live since the database was copied to the new environment and flip the switch, i.e. switch from blue to green. If after switching, a problem surfaces that requires you to revert back to the old environment, the synchronization add-on will again allow you to bring over the changes made in the new environment since the switch back to the old.

Ready for automation

Many organizations try to automate their deployment process as much as possible to minimize both the effort involved and the opportunity for error. The synchronization add-on has been designed with this goal in mind and allows you to invoke the different functions it exposes over REST and use them from your deployment scripts.