Chapter 21. Putting It All Together

We have covered a lot of material in a lot of different topics in this book that, when taken together, is designed to help you scale your applications.  We focused on five tenets:

  • Tenet #1—Availability: Maintaining Availability in Modern Applications

  • Tenet #2—Modern Application Architecture: Using Services

  • Tenet #3—Organization: Scaling Your Organization for Modern Applications

  • Tenet #4—Risk: Risk Management for Modern Applications

  • Tenet #5—Cloud: Utilizing the Cloud

Tenet #1—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. We learned what availability was about, how to measure it, and how to apply tools for improving availability in highly scaled applications, even in light of continuously increasing scaling needs.

Tenet #2—Architecture

A service is a distinct enclosed system that provides business functionality in support of building one or ...

Get Architecting for Scale, 2nd Edition now with O’Reilly online learning.

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