We are creating a new application using microservices, and for that we would like to be able to raise database instances just like we raise new instances for the application's microservices. We do not need it to be necessarily a cluster; Microservices know that information is not always complete or up to date, but we do need to be able to raise at least slaves so that they can attend momentary high traffic.
We have thought of doing a periodic backup (every hour for example) and then raise a new docker with that backup and rerun all transactions until it is up to date. That will give us another node in the cluster or a new slave to query.
This process is likely not too fast but is it feasible? Does it make sense? Isn't there a better solution?
What I would like to know is if there an easy or standard way to upgrade our application's database CPU & IO capacity by adding new VMs or if there is a much simpler and easier way to achieve this.
We are currently using PostreSQL and we are open to add plugins if necessary.
Thank you all for your replies and comments.