Amazon / AWS: Dynamo Consistent Hashing, SQS Decoupling & Aurora Storage
The foundational cloud architecture patterns that gave birth to NoSQL: Amazon Dynamo paper consistent hashing rings, Aurora distributed log storage, and S3 strong consistency.
Amazon’s architecture was redefined by the famous 2002 Bezos API Mandate. The 2007 Dynamo paper pioneered consistent hashing with virtual nodes, vector clocks for version reconciliation, and sloppy quorums with hinted handoff.
Dynamo: Consistent Hashing & Sloppy Quorums
Always-writable shopping cart with sub-10ms response time at P99.9Ensuring zero downtime for shopping cart writes even during catastrophic datacenter network partitions.
Decentralized consistent hashing ring with virtual nodes (vNodes). Writes use Sloppy Quorums (W + R > N) with Hinted Handoff to buffer writes when primary nodes are partitioned.
Sacrifices immediate consistency (accepts concurrent divergent cart versions) to guarantee 100% write availability.
When discussing Amazon Dynamo, emphasize that the shopping cart prioritized write availability over consistency—conflicts were merged at read time using vector clocks or CRDTs.
AWS Aurora: The Log is the Database
Up to 5x throughput of standard MySQL with 6-way cross-AZ replicationRelational database replication across Availability Zones bottlenecked by network I/O and storage write amplification.
Decoupling compute from storage. Only write-ahead log (WAL) records are written across network storage nodes; no dirty buffer cache pages are transmitted.
Custom storage fleet engine complexity vs near-zero database replication lag and instantaneous crash recovery.
Key architectural insight: "The log is the database." By moving checkpointing and page reconstruction to background storage nodes, compute nodes avoid write amplification.
Normalization vs Denormalization (1NF, 2NF, 3NF, BCNF)
Balance write integrity against read latency: The normal forms (1NF → 3NF/BCNF), update anomalies, and when to deliberately denormalize for scale (OLTP vs OLAP).
Consistent Hashing with Virtual Nodes
Solve the N-node reshuffling problem: The 360° Hash Ring, O(K/N) key relocation on node failure/scaling, and Virtual Nodes (Vnodes) for uniform load balance.
The CAP Theorem
Analyze Eric Brewer's CAP theorem: Consistency vs Availability during a Network Partition. Understand why "CA" systems do not exist in reality.
Monolith vs Microservices: The True Architectural Trade-Offs
Evaluate organizational and technical trade-offs: Deployment velocity, blast radius, cognitive load, network latency tax, and Conway's Law.
Domain-Driven Design (DDD): Bounded Contexts & Ubiquitous Language
Define clean microservice boundaries: Eric Evans' DDD, Bounded Contexts, Ubiquitous Language, Aggregates, and Domain Events.
Database-Per-Service Pattern
Enforce true domain encapsulation: Private databases, independent schema migrations, polyglot storage, and preventing backdoor table coupling.
Retry Strategies: Exponential Backoff & Jitter
Prevent self-inflicted retry stampedes: Linear vs Exponential backoff, Full Jitter, Equal Jitter, Decorrelated Jitter, and retry budgets.
Fallback & Graceful Degradation
Maintain user experience during partial outages: Stale cache fallbacks, default static responses, feature shedding, and degraded UX tiers.
Blue-Green Deployments: Instant Router-Level Switching
Achieve atomic zero-downtime releases: Dual identical production environments (Blue and Green), router-level pointer flipping, instant sub-second rollbacks, and the Expand-Contract database pattern.
DeCandia et al., ACM SOSP • 2007
Verbitski et al., ACM SIGMOD • 2017
Ready to Practice Amazon / AWS-Style Systems?
Start with foundational networking, compute, and storage, and build up to complex distributed consensus.