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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.