Software Architecture: The Hard Parts
summary
Argues there are no universal best practices and advocates iterative design using concrete tools: build candidate architectures, apply five disintegrators (functionality, volatility, scalability/throughput, fault tolerance, security) and three integrators (transactionality, data dependencies, workflow/orchestration), run MECE-style matrices and business-use scenarios, then do qualitative scoring followed by measurement. Models eight saga variants and finds all eight appear in the wild, so pick the least-worst design for your constraints rather than a single “best” answer.
AI-written summary · about
chapters (11)
- 0:00Introduction to trade-offs
- 1:36Knowledge vs. wisdom
- 4:52Service granularity tools
- 13:00Iterative design
- 16:51Database granularity
- 18:35Shared service vs. library
- 24:10Modeling business use cases
- 31:28Apples-to-apples comparison
- 33:52Topics vs. queues
- 39:58Communicating with stakeholders
- 44:53Qualitative to quantitative
related talks
51mSoftware Architecture for Humans!
01h 00mPatterns for Software Architecture
45mFive things every developer should know about software architecture
38mAgile Architecture
43mSoftware Architecture, Design Thinking & Knowledge Flow
56mTowards an Evolutionary Architecture
41mSoftware Architecture in a DevOps World
50mTowards an Evolutionary Architecture
