| Scale | What Changes? |
|---|---|
| 100 users | Basic SLIs measured manually or with simple tools; SLOs set loosely; SLA agreements informal or simple. |
| 10,000 users | Automated monitoring for SLIs; SLOs become formal targets; SLAs documented with penalties; alerting systems introduced. |
| 1,000,000 users | High precision SLIs with real-time dashboards; strict SLOs with error budgets; SLAs legally binding; multi-region monitoring. |
| 100,000,000 users | Distributed SLIs across services; dynamic SLO adjustments; SLAs include complex compliance; advanced anomaly detection. |
SLA, SLO, and SLI definitions in HLD - Scalability & System Analysis
At small scale, the main bottleneck is lack of precise measurement tools for SLIs, causing unclear SLOs and SLA enforcement.
As scale grows, bottlenecks shift to monitoring infrastructure capacity and data aggregation delays, making real-time SLI tracking difficult.
- Automate Monitoring: Use scalable monitoring tools (e.g., Prometheus, Datadog) to collect SLIs efficiently.
- Distributed Tracing: Implement tracing to measure SLIs across microservices.
- Alerting and Error Budgets: Use SLO-based alerting to focus on meaningful issues.
- Data Aggregation: Use time-series databases and aggregation to handle large volumes of SLI data.
- Legal and Compliance: Scale SLA management with contract automation tools.
For 1 million users generating 100 requests per second (RPS):
- Monitoring system must handle 100 million RPS metrics collection plus aggregation.
- Storage for SLI data: assuming 10 metrics per request, 100 million RPS * 10 metrics * 86400 seconds/day ≈ 86 trillion data points/day.
- Bandwidth for monitoring data: ~10 KB per metric point -> ~860 PB/day.
- Costs grow with retention period and granularity of SLIs.
When discussing SLA, SLO, and SLI scalability, start by defining each term clearly.
Explain how measurement precision and monitoring infrastructure evolve with scale.
Discuss bottlenecks in data collection and aggregation, then propose automation and distributed monitoring solutions.
Use real numbers to show understanding of volume and cost impact.
Your database handles 1000 QPS for storing SLI data. Traffic grows 10x to 10,000 QPS. What do you do first?
Answer: Introduce caching and aggregation to reduce write load, then add read replicas or partition the database to handle increased QPS.
Practice
Solution
Step 1: Understand SLA meaning
SLA stands for Service Level Agreement, which is a formal contract or promise about the service quality.Step 2: Identify SLA role
It defines the overall service promise between the provider and the customer, including availability, performance, and support.Final Answer:
Service Level Agreement; the overall service promise between provider and customer -> Option DQuick Check:
SLA = overall service promise [OK]
- Confusing SLA with SLO or SLI
- Thinking SLA is a metric
- Mixing SLA with system load terms
Solution
Step 1: Define SLI
SLI stands for Service Level Indicator, which is a measurable metric that shows how well the service is performing.Step 2: Differentiate from SLO and SLA
Unlike SLO (goal) or SLA (contract), SLI is the actual measurement like latency, error rate, or uptime percentage.Final Answer:
A metric used to measure service performance -> Option CQuick Check:
SLI = metric [OK]
- Confusing SLI with SLO or SLA
- Thinking SLI is a goal or agreement
- Mixing SLI with penalties
SLA: 99.9% uptime per monthSLO: 99.95% uptime per monthSLI: Measured uptime percentageWhat happens if the measured uptime is 99.92% for the month?
Solution
Step 1: Compare measured uptime with SLA
The SLA requires 99.9% uptime. The measured uptime is 99.92%, which is higher, so SLA is met.Step 2: Compare measured uptime with SLO
The SLO target is 99.95%. The measured uptime 99.92% is less than 99.95%, so SLO is violated.Final Answer:
SLA is met but SLO is violated -> Option AQuick Check:
Measured uptime 99.92% < SLO 99.95% but > SLA 99.9% [OK]
- Mixing up SLA and SLO thresholds
- Assuming meeting SLA means meeting SLO
- Ignoring the difference between SLA and SLO
SLA: 99.9% uptimeSLO: 99.95% uptimeSLI: uptime percentageMeasured uptime is 99.85%. Which is the error in this statement?
"Since uptime is 99.85%, both SLA and SLO are met."
Solution
Step 1: Check measured uptime against SLA
SLA requires 99.9% uptime. Measured uptime is 99.85%, which is less, so SLA is violated.Step 2: Check measured uptime against SLO
SLO requires 99.95% uptime. Measured uptime 99.85% is less, so SLO is also violated.Final Answer:
The measured uptime is below SLA, so SLA is violated -> Option AQuick Check:
99.85% < 99.9% SLA means SLA violated [OK]
- Assuming 99.85% is above 99.9%
- Confusing SLI with SLO or SLA
- Thinking SLA and SLO are identical
Solution
Step 1: Understand the relationship between SLA, SLO, and SLI
SLA is the promise (99.9%), SLO is the goal (99.95%), and SLI is the metric (error rate) used to measure uptime.Step 2: Analyze the impact of increased error rate
Higher error rate lowers uptime to 99.85%, which violates both SLO and SLA targets, risking customer trust.Step 3: Determine corrective action
The company should improve system reliability to reduce error rate and restore uptime above SLA and SLO levels.Final Answer:
Improve system reliability to reduce error rate below SLO target -> Option BQuick Check:
Fix error rate to meet SLO and SLA [OK]
- Changing SLA instead of fixing system
- Ignoring SLI importance
- Adjusting thresholds to hide problems
Ready to prove it?
Pass the test and this pattern moves unknown
