Quite often, we need to synchronize the content from Production environment back to Test/Staging environment or to the development and vice-versa.
And there are more than 1 ways to achieve this.
Below is a small list of schemes one could follow to perform AEM content synchronization. The table also highlights the pros and cons of each of the schemes which may help you make your use-case specific decisions properly.
Sync. Option |
Description |
Pros |
Cons |
| Backup and restore – Offline | 1. File system snapshot of storage 2. Restore (or synchronization) is similar to file system restore operation but on the different AEM server |
1. Can be both manual and automated | 1. Requires AEM downtime 2. Typical usage is on the same server |
| Backup and restore – Online | 1. Backup creates an image (or snapshot) of the repository 2. Systems backup agent should take care to actually transfer this image to a dedicated backup system 3. Restore backup using command line scripts |
1. The backup includes content, version history, configuration, software, hotfixes, custom applications, log files, search indexes 2. Requires no downtime 3. Backups can be automated using the wget or curl HTTP clients 4. Restores can also be automated |
1. Slower than Offline backup and restore 2. Typical usage is on the same server |
| Package Backup/ Build/ Install (Restore) | 1. Uses Content Package format to back up and restore content 2. Typical method to transfer content between instances |
1. Authors can perform package build and installation steps | 1. AEM version history is lost 2. Typical when transfer data is small 3. Extremely space inefficient (.zip) |
| vlt rcp | 1. Mechanism -> WebDAV using XML, doing an HTTP call | 1. VLT is an Adobe product maintained by Adobe 2. Both manual and automatted 3. Revision history is maintained |
1. HTTP req/res on every node and hence latency on the network hurts performance enormously |
| recap | 1. Exactly a “vlt rcp” tool but with a browser interface | same as above | same as above |
| Grabbit | 1. Like “vlt rcp” with better data streaming algorithm resulting in 2 to 10 times faster sync. with respect to vlt |
1. Less CPU/ Memory demand 2. Continuous stream to avoid latency issues |
1. Multiple dependencies on different open projects |
References:
https://docs.adobe.com/docs/en/aem/6-1/administer/content/backup-and-restore.html
https://docs.adobe.com/docs/en/aem/6-1/administer/content/package-manager.html
https://docs.adobe.com/docs/en/aem/6-1/develop/dev-tools/ht-vlttool.html
http://adamcin.net/net.adamcin.recap/https://github.com/TWCable/grabbit

