Disaster Recovery in an Adobe Commerce Cloud Environment
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:"
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:
-
DB crashed and you want to make a full recovery
-
Some files were removed from shared folders and you need to have them back
-
Some bugs in a code that crashed the system and you need to get a previous state
-
Revert Magento Update
-
… any other incident
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