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

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