Chapter 2: Defining Boundaries and Letting Go

In Chapter 1, Architecting for Innovation, we learned that the role of architecture is to enable change so that autonomous teams can confidently and continuously deliver business value. The key concept here is autonomy, but we need more than just autonomous teams. We need an architecture that promotes autonomy. We ultimately accomplish this by creating autonomous services with fortified boundaries. But first, we need to define the architectural boundaries of the subsystems within our system. Then we need to do the hardest thing of all, let go and trust the autonomous teams to deliver within their boundaries.

In this chapter, we're going to cover the following main topics:

  • Building on SOLID principles ...

Get Software Architecture Patterns for Serverless Systems 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.