Summary
In this chapter, we discussed the definitions of resilience and performance. Companies want their applications to be available and to perform well: it defines the customer experience. We discussed various concepts that developers can use to build performant and resilient applications, using cloud-native tools as much as possible in 12-factor apps, PaaS, and SaaS.
We also learned how to optimize our environments using different advisory tools that cloud providers offer. We then learned how to identify risks in the various layers: business, data, applications, and technology. We studied the various methods we can use to mitigate these risks.
One of the biggest risks is that we “lose” systems without the ability to retrieve data from backups or without the possibility of failover to other systems. For real business-critical systems, we might want to have disaster recovery, but at a minimum, we need to have proper backup solutions in place. Various backup...