What is your approach regarding your application’s data recovery?
Is it Backup? or Restore?
What is application backup?
It depends on your application but in most cases your application will have database so that is basically your priority along with your core code of your application.
So you’re probably using code repository to manage and store your code, you can always clone the entire repo and save it somewhere safe.
As for the database you should dump it to a safe store location.
So both approaches are copy the data to a safe external location, it can be S3, local hard drive or remote server. all those options require a remote copy of the data.
The challenge is when you’ll need to use that backup, will it be restorable?
What is application restore?
Application restore is the process were you backup and restore at the same time, meaning a backup to the data and restore right away.
When you restore the data right after the backup is made you ensure that it is does what it supposed to do, and can be sure that when or if you’ll want to use it, you can.
How can you backup and restore in one process?
Let’s describe a simple example, let’s assume it’s a MySQL database so you can dump the database then copy it to a testing server and restore it to a MySQL container.
Once the restore is complete the next stage is to connect to the database and verify the data is ok.
so this is the process
- dump the db
- copy it to testing server / instance
- restore it to a container
- connect to the db and run a query
Why should you backup and restore in one process?
Again ensuring the backup is ok and the reliability and confidence that it’s available on demand.