SDSystem Design Studio
Search guide and handbook titles, headings, and text
Complete book · 2. Boundaries, State, and Data

Your handbook progress

0 of 31 sections complete.

Loading saved progress…

Guided learning paths

Interview preparation

Practice a repeatable design flow and the trade-offs most often explored in interviews.

12 sections · 3–5 hours · 0/12 complete

Continue path
  1. 1. Practical system-design workflow· Not complete
  2. 2. The 12-question system design loop· Not complete
  3. 3. 1. Requirements: FRs, NFRs, Constraints, and Assumptions· Not complete
  4. 4. 2B. Data Modeling, Indexing, and Partitioning· Not complete
  5. 5. 3. Concurrency· Not complete
  6. 6. 4. Transactions and Consistency· Not complete
  7. 7. 5. APIs, Contracts, and Idempotency· Not complete
  8. 8. 6. Messaging and Asynchronous Work· Not complete
  9. 9. 7. Failure Handling and Resilience· Not complete
  10. 10. 8. Scale, Capacity, Performance, and Caching· Not complete
  11. 11. 13. Master System Design Review Checklist· Not complete
  12. 12. Design review outcome template· Not complete

Architecture review

Review an architecture systematically from boundaries through operability and evolution.

17 sections · 5–7 hours · 0/17 complete

Continue path
  1. 1. 1. Requirements: FRs, NFRs, Constraints, and Assumptions· Not complete
  2. 2. 2. Boundaries, State, and Data· Not complete
  3. 3. 2A. Networking and Communication· Not complete
  4. 4. 2B. Data Modeling, Indexing, and Partitioning· Not complete
  5. 5. 2C. Time, Clocks, and Ordering· Not complete
  6. 6. 4. Transactions and Consistency· Not complete
  7. 7. 5. APIs, Contracts, and Idempotency· Not complete
  8. 8. 6. Messaging and Asynchronous Work· Not complete
  9. 9. 7. Failure Handling and Resilience· Not complete
  10. 10. 8. Scale, Capacity, Performance, and Caching· Not complete
  11. 11. 9. Security· Not complete
  12. 12. 10. Observability and Reliability· Not complete
  13. 13. 11. Deployment, Migration, and Evolution· Not complete
  14. 14. 12. Cost, Simplicity, and Operability· Not complete
  15. 15. 13. Master System Design Review Checklist· Not complete
  16. 16. Architecture Decision Record — short template· Not complete
  17. 17. Design review outcome template· Not complete

Agentic systems

Design agent and LLM systems with explicit contracts, failure boundaries, and review gates.

9 sections · 3–4 hours · 0/9 complete

Continue path
  1. 1. 1. Requirements: FRs, NFRs, Constraints, and Assumptions· Not complete
  2. 2. 5. APIs, Contracts, and Idempotency· Not complete
  3. 3. 6. Messaging and Asynchronous Work· Not complete
  4. 4. 7. Failure Handling and Resilience· Not complete
  5. 5. 9. Security· Not complete
  6. 6. 10. Observability and Reliability· Not complete
  7. 7. 15. LLM and Agentic Systems· Not complete
  8. 8. 16. Spec-Driven Development for Agentic Systems· Not complete
  9. 9. 17. Agent-System Design Review Checklist· Not complete

Complete handbook · Section 7 of 31

2. Boundaries, State, and Data

Most hard architecture problems become easier after you know where state lives and who owns it. Draw the system boundary, external dependencies, trust boundaries, data stores, and the direction of important calls. For each business fact, identify one authoritative source of truth.

Evidence: S3, S24, S54, S58

Key decisions

Stateful vs stateless compute: keep durable state outside replaceable application instances when practical.

Data ownership: in a microservices design, keep service data private to the owning service and expose behavior/data through explicit contracts rather than shared schemas.

Failure domains: identify which failures should be isolated from which other functions.

Dependency direction: know what must be available for a critical request to succeed.

Trust boundaries: every transition across a security boundary needs explicit authentication/authorization assumptions.

Evidence: S3, S27, S54, S58

C4 diagrams: zoom from context to code

The C4 model provides a small set of architecture views at increasing levels of detail. Treat the levels like a map: start wide, then zoom in only where another view helps a specific audience or decision. C4 is notation- and tooling-independent; consistent scope, names, responsibilities, and relationships matter more than shapes or colours.

Table · scroll horizontally when needed

LevelScopeShowUse it for
1. System contextOne software system and its environmentPeople, the system in scope, and directly connected external systemsBusiness and technical alignment on scope, users, and external dependencies
2. ContainerOne software systemIts applications and data stores, responsibilities, technology choices, and communicationThe high-level technical design; in C4, a container is an application or data store, not necessarily a Docker container
3. ComponentOne containerMajor components, responsibilities, interfaces, and dependenciesExplaining a complex container when the extra detail changes understanding or a decision
4. CodeOne componentImportant classes, interfaces, functions, tables, or other code elementsA difficult implementation area; prefer generating this detail when possible

Most teams need only system context and container diagrams. Add component or code diagrams when they answer a real question; do not document every level by default. Use separate dynamic diagrams for important runtime interactions and deployment diagrams for environment-specific infrastructure, replicas, and failover.

A C4-style system context example. Key: blue is the system in scope; grey boxes are people or external systems.

Diagram loads as you approach it.

C4 diagram checklist

  • The title states the diagram type and scope.
  • One diagram uses one abstraction level; it does not mix systems, containers, components, and code without a clear reason.
  • Every element has a type, meaningful name, and short responsibility description.
  • Containers and components identify their main technology where it helps the audience.
  • Every relationship is directional and labelled with its purpose; container relationships also name the protocol or technology.
  • A legend explains shapes, colours, line styles, acronyms, and any additional notation.
  • Names and relationships remain consistent when zooming between diagrams.
  • The diagram has an owner or generation path and is updated when the architecture changes.

Evidence: S93

Checklist

  • A system context diagram shows people, the system in scope, and directly connected external systems.

  • A container diagram shows the system's applications, data stores, responsibilities, technologies, and communication paths.

  • Each important data set has a clear owner/source of truth.

  • Durable state is not accidentally stored only in one application instance.

  • Session state strategy is explicit.

  • Critical synchronous dependency chains are visible.

  • External dependencies have documented limits and failure behavior.

  • Failure domains are intentional; unrelated features should not fail together without reason.

  • Trust boundaries are marked.

  • Data classification is known for sensitive or regulated data.

  • When using microservices, boundaries follow business capability/responsibility rather than horizontal technical layers.

Evidence: S3, S24, S27, S54, S58

Practice after learning

Section learning lab

Build the idea, test your recall, and keep page-specific notes.

The canvas is horizontally scrollable on narrow screens. Select a node and use arrow keys or the move controls; dragging also works.

Diagram ready.

Loading saved work…