Software Architecture · System Design
How should availability and fault tolerance be applied in a production system?
Define SLOs, remove critical single points, spread across failure domains, automate failover, and test failure behavior. The implementation should be justified by measurable requirements, kept as simple as the problem allows, and validated with realistic tests, telemetry, failure handling, and documented tradeoffs.