Chapter 26. Putting It All Together

We have covered a lot of material in a lot of different topics in this book that, when taken together, are designed to help you scale your applications:

  • Availability and availability management

  • Risk and risk management

  • Building applications by using services and microservices

  • Scaling your application and your development team to work on your application

  • Using the cloud to help scale your application

Availability

Availability is the ability of your application to perform the tasks it is capable of doing. This differs from reliability, which is the ability of your application to not make mistakes. A system that adds 2 + 3 and returns 6 has poor reliability. A system that adds 2 + 3 and never returns a result has poor availability.

Poor availability is caused by many things, including the following:

  • Resource exhaustion

  • Unplanned load-based changes

  • Increased number of moving parts

  • Outside dependencies

  • Technical debt

Application availability is often the first casualty as an application tries to scale beyond its capabilities. The topic of availability is covered extensively in Part I, including how to measure it and how to maintain a highly available application. Even in light of continuously increasing scaling needs, your application availability can be maintained at appropriate levels for your needs.

Risk Management

You cannot possibly manage the risk in your system if you cannot identify the risk in your system. This ...

Get Architecting for Scale now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.