Chapter 12. Resiliency
As software becomes an increasingly vital part of our users’ lives, we need to continually improve the quality of service we offer. Software failing can have significant impact on people’s lives even if it doesn’t fall into the category of safety critical software in the way that things like aircraft control systems do. During the COVID-19 pandemic, which was ongoing at the time of writing, services like online grocery shopping have gone from being a convenience to becoming a necessity for many people who are now unable to leave their homes.
Against this backdrop, we are often being tasked with creating software that is more and more reliable. The expectations of our users have shifted, in terms of what the software can do and when it should be available. The days of only having to support software during office hours are increasingly rare, and there is decreasing tolerance for downtime due to maintenance.
As we’ve covered at the start of this book, there are a host of reasons as to why microservice architectures are being chosen by organizations around the world. And for many, the prospects of improving the resilience of their service offerings is cited as a major reason.
Before we get into the detail of how a microservice architecture can enable resiliency, it’s important to step back and consider what resiliency actually is. It turns out that when it comes to improving the resiliency of our software, adopting a microservice architecture is only part of ...