Promoting inter-service collaboration
In Chapter 1, Architecting for Innovation, we saw that the role of architecture is to enable change so that teams can continuously experiment and uncover the best solutions for their users. We enable continuous change by defining fortified boundaries around things that change together so that we can control the scope and impact of any given change. The key to defining these boundaries is to understand the driving force behind change.In Chapter 2, Defining Boundaries and Letting Go, we found that people (that is, actors) are the driving force behind change. We identified a set of autonomous service patterns that support the different kinds of actors so that each service is responsible to a single actor. In this chapter, we dig into the details of the Control Service pattern.Control services work between the boundary (that is, Backend for Frontend (BFF) and External Service Gateway (ESG) services as mediators, to promote collaboration between the different...