Software Architecture Lab: Interactive Simulations & Lessons
Evolution, decisions, characteristics and fitness functions. A hands-on software architecture lab with 4 interactive simulations and 5 lessons.
Evolution, decisions, characteristics and fitness functions.
Architecture is decisions under constraints. Step through ShopFlow’s evolution, make decisions and live with their consequences, write ADRs, and protect the result with fitness functions.
Simulations
- Architecture Evolution Stepper — Step ShopFlow from monolith to multi-region and compare characteristics, failure points and complexity at each version.
- Architecture Fitness Functions — Add dependencies between modules and watch automated fitness functions pass or fail the build.
- Design Pattern Playground — Add payment methods, discounts and order states to ShopFlow with and without patterns; count the classes you had to edit.
- DDD Bounded Contexts Workshop — Sort ShopFlow concepts into bounded contexts, see where “Customer” and “Product” mean different things, and check coupling.
Lessons
- What Architecture Really Is (and Isn’t) — Level 7 · Software Architecture
- Architecture Characteristics: The -ilities Under Pressure — Level 7 · Software Architecture
- Architecture Styles and Their Trade-offs — Level 7 · Software Architecture
- Trade-off Analysis: Thinking Like an Architect — Level 7 · Software Architecture
- Fitness Functions: Tests for Your Architecture — Level 10 · Evolutionary Architecture
Also explore
Other labs
- Kafka Lab — Logs, partitions, keys, consumer groups and ordering.
- Database Internals Lab — Storage engines, indexes, replication and partitioning.
- Transactions Lab — Isolation anomalies, lost updates and distributed transactions.
- Caching Lab — Hit rates, TTLs, invalidation, stampedes and CDNs.
- Microservices Lab — Failures, retries, circuit breakers, sagas and idempotency.