Build a Distributed System
16 weeks · 0 milestones
Design and implement a distributed system with consensus, fault tolerance, and observable performance characteristics.
Milestone map
Milestone map
0 of 3 done
Current milestone
Architecture Design Document with Formal Complexity Analysis
3–4 weeks
Design a distributed system that solves a clearly stated real-world problem — not a toy example. Address: consistency model (strong, eventual, or causal — state which and why), fault tolerance approach (what happens when a node fails), data partitioning strategy, and communication pattern. Produce a formal architecture document and analyse the latency and throughput characteristics of the critical path. This milestone satisfies the Engineering Design Triad: design artifact plus analysis artifact.
Proof required
Submit: (a) the architecture document (minimum 1,500 words) naming the real problem, the consistency model chosen with rationale, the fault tolerance approach with specific failure mode analysis, the data partitioning strategy with explanation of rebalancing, and a component diagram, and (b) a critical path complexity analysis: the operations with the highest latency impact, their Big-O time and space complexity, and a target SLA (p99 latency, throughput in requests/second) with justification. The analysis must reference specific CAP theorem trade-offs made.
What gets checked
- Architecture makes specific trade-off decisions — 'we chose eventual consistency because our use case tolerates stale reads for up to 10 seconds and we need partition tolerance for geographic distribution' not 'we use eventual consistency'
- Critical path analysis includes specific latency estimates with breakdown by component — not 'fast enough'
- CAP theorem trade-offs are explicitly stated — which is being relaxed and in what failure scenario
Build and Deploy with Observability
Load Test, Runbook, and Architecture Review with Expert
Sign in to start this outcome and track your progress publicly.
Sign in to start this outcome →