Chapter 3. Structural Alignment
In Chapter 2, we showed how the implementation of a system can get misaligned with its architecture if the development team doesn’t follow the architect’s guidelines regarding domains, subdomains, components, and component dependencies. In this chapter, we describe techniques for governing and ensuring these alignments.
Defining Domains and Services
Domains in monolithic architectures (those with a single deployment unit) are typically defined as the highest-level grouping of components. They represent a major part of the system from a functionality standpoint. For example, the Sysops Squad logical architecture, depicted in Figure 2-2 in Chapter 2, consists of two domains: Ticketing and Survey. Many other domains exist in this system, such as Reporting and Analytics, Administration, and Expert Knowledge Base, but we’ve chosen to limit our example to the primary ticketing flow for simplicity’s sake.
In distributed systems (those with separate deployment units), ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access