System Design: make decisions, size, and recover systems
Six lessons, 30 questions, and six cases on requirements, capacity, data, scaling patterns, recovery, and system lifecycle.
Objectives and progression
A six-module technical course for turning business needs into measurable architecture decisions. Practice capacity under failure, consistency, caching, partitioning, recovery, security, and cost per outcome. Includes fictional funds and APS scenarios, primary sources, explicitly identified PostgreSQL18 examples, and an internal assessment of 24 decisions in 60 minutes.
Audience: APS L2/L3, infrastructure, SRE, systems administration teams, and technical managers.
Prerequisites: Application, monitoring, and production-support fundamentals; no bank-specific internal process assumed.
300 estimated study minutes
- Turn business needs into measurable criteria and traceable decisions.
- Size with explicit assumptions and validate behavior under load.
- Choose read, write, and recovery guarantees for each operation.
- Evaluate scaling patterns together with their limitations.
- Design for failure domains and demonstrate complete-service recovery.
- Include protection, operations, and decommissioning in design decisions.
Modules
- Requirements and architecture decisions
- Capacity and latency
- Data and consistency
- Caching, partitions, and queues
- Failures and recovery
- Security, cost, and lifecycle
Continue learning
References and version
System design patterns; PostgreSQL18 scoped examples; primary guidance consulted 2026-09-30
- Implementing SLOs · 2026-09-30
- Defining reliability targets · 2026-09-30
- Maintain an architecture decision record · 2026-09-30
- Architecture strategies for performance testing · 2026-09-30
- Reliability design principles · 2026-09-30
- Cache-Aside pattern · 2026-09-30
- CQRS pattern · 2026-09-30
- Sharding pattern · 2026-09-30
- PostgreSQL log-shipping standby servers · 2026-09-30
- PostgreSQL transaction isolation · 2026-09-30
- Queue-based load leveling · 2026-09-30
- Securing a development lifecycle · 2026-09-30
- Grant least privilege access · 2026-09-30
- Allocate costs based on workload metrics · 2026-09-30
- Implement a decommissioning process · 2026-09-30
What you will explore
0 / 6Requirements and architecture decisions
Turn business needs into measurable criteria and traceable decisions.
Capacity and latency
Size with explicit assumptions and validate behavior under load.
Data and consistency
Choose read, write, and recovery guarantees for each operation.
Caching, partitions, and queues
Evaluate scaling patterns together with their limitations.
Failures and recovery
Design for failure domains and demonstrate complete-service recovery.
Security, cost, and lifecycle
Include protection, operations, and decommissioning in design decisions.