Understanding recovery solutions
Throughout this book, we have looked at how to architect solutions that are resilient to failures or outages. Often this has involved duplicating components such as VMs, web apps, and even databases. Sometimes we have duplicated systems within a region to protect against hardware or individual data center failures, or cross-region to protect against entire region outages.
However, this comes at a financial cost – doubling up on a database or VM means doubling the costs as well.
Sometimes the cost of an outage outweighs the cost of duplicate components – if an application is used continually and is revenue-generating, a 1-hour downtime could cost millions, and therefore the increased cost of another database is negligible.
Not all systems are this sensitive. For lower-budget solutions, or systems that are not as critical, potential downtime may be preferable to an increase in hosting costs. Therefore, when architecting solutions, we...