Popular Service Level Indicators (SLIs):
- Correctness
- Availability
- Throughput
- Response Time ( p50, p99, etc)
- Functional requirements describe the SLI for correctness.
- Non-functional requirements describe the SLIs for availability, throughput, response time etc.
Service Level Objective (SLO):
- A target value (or range) for an SLI. (e.g.: SLI ⇐ target).
- non-functional requirements for scaling, like - data size, bulky service time, geolocation, and data hotspots, to satisfy SLOs.
Service Level Agreement (SLA) is a contract with users on what the SLOs are, including the consequences of meeting/missing the SLOs. (e.g.: penalty/rebate).
Distributed Systems in One Lesson by Tim Berglund
Google Systems Design Interview With An Ex-Googler
My System Design Template - LeetCode Discuss
ByteByteGo | Ace Your Next System Design Interview
How to crawl a quarter billion webpages in 40 hours – DDI
CS 329S - Machine Learning Systems Design; “an iterative framework for developing real-world machine learning systems that are deployable, reliable, and scalable.”