ADOBE COMMERCE

Disaster Recovery in an Adobe Commerce Cloud Environment

Alex Lyzun

Defibrillator in yellow telephone booth Disaster Recovery in Adobe Commerce Cloud

In normal life, this is not a daily routine, but sometimes your system may crash and you need to think about a restore process.

Adobe Commerce Cloud (AC) has an automatic backup process by design. So, if you act quickly after a notice, you have a good chance to restore your system almost completely.

"Adobe Commerce on cloud infrastructure provides hourly incremental backups that include the file system and database for the last 24 hours of operation. After the 24 hours are up, we keep the backups on the following schedule:"

TIME PERIOD
BACKUP RETENTION POLICY
Days 1 to 3
Each backup
Days 4 to 6
One backup per day
Weeks 2 to 6
One backup per week
Weeks 8 to 12
One bi-weekly backup
Weeks 12 to 22
One backup per month

More info: https://devdocs.magento.com/cloud/architecture/pro-architecture.html#backup-and-disaster-recovery

Sounds good, right?

Let's try it!

This is very well written, but how is this process in practice?

So we decided to run some tests in one of our environments to be well prepared for real situations.

Step 1 - “I've deleted all products!“

As a use case, we took a real case we had with one of our customers: "I have deleted all products, please help me".

So the customer went to the AC backend, selected all the products and clicked Delete.

Action 1: Create a support ticket

We created the following support ticket via support.magento.com:

Hello Support-Team,

we've lost ritical data on Production environment and need to have latest Database backup.

How can we choose the backup-snapshot to be used for the recovery?
Is there any downtime of the system?

Kind regards,
Sad Client

And the answers to the last 2 questions were:

Q: How can we choose the backup-snapshot to be used for the recovery?
A: We take backups every hour. The hourly backups are present for 24 hours and then it goes to the retention policy listed here. You just have to specify a time/date that you would like the backup from and let us know which backup you need ie. filesystem or database or both. We will then retrieve the closest available backup to the time specified and provide you with the relevant files on the corresponding cluster.

Q: Is there any downtime of the system?
A: There is no downtime in regards to retrieving the backup files as they are not kept on the clusters themselves. However, as this is a disaster recovery process, I am assuming there is downtime which has sparked the necessity for restoration efforts. If the store is not down already, you will have to place the store in maintenance mode when attempting to restore the database from the backup file provided.

by Dominique Coelho

Also latest backup become available on a relevant cluster (Production in our case). So technically we received a full access to files and database of backuped system.

Restored files location is:

/mnt/recovery/

Step 2: Perform required actions

Actions you need to perform are dependent on situation you have and which type of data you want to restore:

In every usecase there could be a different set of actions you need to execute. I will not go too much into detail here, as all those actions are quite similar for every restoring process.

Step 3: Delete backups after you are done

Please do not forget to delete a backup after you are done.

Conclusion

In conclusion, I would say that the recovery process is quite simple if you want to restore some lost information from the backup, and at the same time I find it quite complicated if you want to perform a full system restore, because then you have to perform a long list of actions. I would prefer to have a "fire-and-forget" solution.

Photo by Liza Pooor on Unsplash