Consider a web application that experiences frequent downtime. Which infrastructure design aspect most directly improves its reliability?
Think about how to keep the system running even if one part fails.
Redundancy and failover ensure that if one server fails, others take over, improving reliability.
You expect your system's user base to grow rapidly. Which infrastructure design choice best supports this growth?
Think about adding more machines to handle more users.
Horizontal scaling with load balancers distributes traffic across servers, allowing growth.
When designing infrastructure, what is the primary tradeoff between vertical scaling (upgrading a single server) and horizontal scaling (adding more servers)?
Consider cost, complexity, and flexibility.
Vertical scaling upgrades one server, cheaper but limited; horizontal scaling adds servers, more complex but scales better.
To reduce latency for users worldwide, which infrastructure design choice is most effective?
Think about physical distance between users and servers.
Deploying servers closer to users reduces network travel time, lowering latency.
Your system expects 1 million daily active users, each making an average of 10 requests per day. Each server can handle 10 requests per second. Estimate the minimum number of servers needed to handle peak load assuming peak traffic is 10% of daily requests concentrated in one hour.
Calculate total requests per peak hour, then divide by server capacity.
1 million users * 10 requests = 10 million requests/day. Peak 10% in 1 hour = 1 million requests in 3600 seconds ≈ 278 requests/sec. Each server handles 10 requests/sec, so servers needed ≈ 278 / 10 = 28 servers.
