Designing highly available data architectures
You compare consistency and availability trade-offs, replication topologies, consensus algorithms and disaster recovery, and test your design with fault injection.
Level 501 · 14 lessons · 12 practice labs
Lessons
Theory
- CAP and PACELC
- Consistency models
- Consensus: Raft step by step
- Majorities and quorums
- Short task: choose consistency for three applications
Topologies
- Primary-replica layouts
- Multi-primary layouts and conflict resolution
- Distributed SQL databases
- Cross-region disaster recovery
- Short task: design a topology for a banking app
Testing
- Fault injection: network partitions and latency
- Consistency checks
- Runbooks and game days
- Capstone: design and test an order platform that never stops
Practice labs
- Choose consistency levels for applications: Pick and justify the consistency model needed by banking, a social feed and an inventory app.
- Show stale reads with an experiment: Reproduce a user not seeing their own write when the app reads a lagging replica, then fix it.
- Explain behaviour under a partition with PACELC: Test two database setups during a partition and in normal operation and classify their behaviour with PACELC.
- Calculate quorum sizes: Tabulate how many node losses three-, five- and seven-node clusters can survive.
- Watch a Raft leader election: Stop the leader of a small Raft cluster and follow the term increase and new election in the logs.
- Tune read and write quorums: Pick read and write quorums that stay consistent and writable through node losses and verify them by experiment.
- Draw and build a primary-replica layout: Draw and build a primary with two replicas behind a load balancer for a booking system.
- Resolve a multi-primary conflict: Reproduce a conflict on a stock record written on two primaries at once and apply a resolution rule.
- Design cross-region disaster recovery: Calculate RPO and RTO for failing a banking app over to a second region, rehearse it and time it.
- Add network latency and measure its effect: Add artificial latency between replicas and measure how write time and replica lag change.
- Check consistency after a partition: After a partition experiment, compare data across nodes to find lost or duplicate records.
- Run a game day and fix the runbook: Run planned failure scenarios on an order platform, find the runbook's gaps and update it.
About this course
You compare consistency and availability trade-offs, replication topologies, consensus algorithms and disaster recovery, and test your design with fault injection.
What you will learn
Prerequisites
You should be experienced in the topics of the same path up to level 401.
Lab environment
Lessons run in your own Kali Linux terminal in the browser, connected to a private lab network. Nothing to install.
Frequently asked questions
- Is this course right for my level?
- The course is at level 501; it assumes you know the topics of the lower-level courses.
- Is there anything to install?
- No. Every lesson runs in your own lab environment that opens in the browser.
- How do lessons work?
- Each lesson has 8 to 10 steps and a short quiz. Early steps show the command to type, later steps give less help; if two attempts fail, the solution opens.
- Can I try it for free?
- Yes. The first three lessons of every course are free.