SRE Capacity Planning & Scaling 3 — Questions and Answers
Question 1: Which scaling pattern is most appropriate when a system's bottleneck is stateful session data?
- Horizontal scaling with sticky sessions or a shared session store (Correct answer)
- Vertical scaling of the web tier only
- Adding more read replicas to the database
- Increasing CDN cache TTLs
Correct answer: Horizontal scaling with sticky sessions or a shared session store
Stateful sessions require either sticky sessions to route users to the same instance or a shared session store (like Redis) to allow any instance to serve any user.
Question 2: What is the 'utilization law' in the context of queuing theory for SRE capacity planning?
- Response time equals service time divided by utilization
- As utilization approaches 100%, queue length and wait time grow toward infinity (Correct answer)
- Throughput is always proportional to the number of servers
- Average service time equals arrival rate times response time
Correct answer: As utilization approaches 100%, queue length and wait time grow toward infinity
Queuing theory shows that as server utilization approaches 100%, queue lengths grow unboundedly, which is why SREs target utilization well below 100%.
Question 3: An e-commerce platform expects 10× normal traffic on Black Friday. Which capacity strategy best balances cost and reliability?
- Run at 10× capacity year-round
- Pre-scale to 10× capacity starting 1 hour before Black Friday
- Pre-warm to 10× days before, then scale down gradually after (Correct answer)
- Rely entirely on reactive auto-scaling
Correct answer: Pre-warm to 10× days before, then scale down gradually after
Pre-warming days before the event ensures capacity is ready and proven stable, while gradual scale-down avoids sudden drops in available capacity during lingering traffic.
Question 4: What does 'N+1 redundancy' mean in the context of capacity planning?
- Having one extra unit of capacity beyond what is minimally required to handle load (Correct answer)
- Running N services behind a load balancer
- Deploying one additional data center region
- Keeping one standby server for every N active servers
Correct answer: Having one extra unit of capacity beyond what is minimally required to handle load
N+1 redundancy means provisioning one additional unit above what is needed, so the system can absorb the loss of any single unit without degrading capacity.
Question 5: A microservice shows memory usage growing 5% per week. Which action should the SRE prioritize?
- Immediately double memory on all instances
- Investigate for a memory leak while monitoring the growth trend (Correct answer)
- Restart the service weekly to reset memory
- Switch to a language with automatic memory management
Correct answer: Investigate for a memory leak while monitoring the growth trend
Steady growth suggests a memory leak; the correct response is to investigate the root cause while tracking the trend to determine urgency.
Question 6: Which technique helps an SRE determine the maximum safe throughput of a service before latency SLOs are breached?
- Chaos engineering
- Load testing with gradual ramp-up while monitoring p99 latency (Correct answer)
- Profiling CPU usage at idle
- Reviewing application logs for errors
Correct answer: Load testing with gradual ramp-up while monitoring p99 latency
Gradual ramp-up load testing reveals the inflection point where latency starts degrading, establishing the safe operating throughput ceiling.
Question 7: What is 'right-sizing' in cloud capacity management?
- Choosing the cheapest available instance type
- Matching instance or resource size to actual workload requirements to minimize waste (Correct answer)
- Scaling all services to the same instance type for consistency
- Provisioning at the maximum possible size for safety
Correct answer: Matching instance or resource size to actual workload requirements to minimize waste
Right-sizing analyzes actual resource consumption and selects the instance type or size that meets performance requirements without over-provisioning.
Which scaling pattern is most appropriate when a system's bottleneck is stateful session data?