One big server vs three small servers

One big server has no spare when it fails. Three small servers share the load, so the other two carry it when one fails. At 3,600 requests/s, one big server reaches only 67 percent availability, and three small servers stay above 99 percent for less money.

Play the level

One server boardDrag or use arrow keys to change the load

280 req/s · CPU 70% · mean 22 ms

Failure domains on the floorTap for the next fault. Arrow keys move the replicas.

Two rows · 3 of 3 replicas up · load served

Case 1

The API serves 3,600 requests/s. One server fails at 0:40. Availability must stay above 95 percent and errors below 5 percent.

Case 1
Measure Goal One big server Three small servers
p99 latency under 250 ms 24 ms Pass 69 ms Pass
Availability at least 95% 66.7% Fail 99.944% Pass
Error rate under 5% 33.3% Fail 0.056% Pass
Monthly cost 32 USD/mo 14 USD/mo
HTTP/2UsersAPI server8 vCPU · 4 GB
HTTP/2UsersAPI server8 vCPU · 4 GB
One big server: misses a goal
HTTP/2HTTP/2HTTP/2HTTP/2UsersLoad balanc…0.25 vCPU · 0.5 GBAPI server1 vCPU · 1 GBAPI server1 vCPU · 1 GBAPI server1 vCPU · 1 GB
HTTP/2HTTP/2HTTP/2UsersLoad balan…API serverAPI serverAPI server
Three small servers: meets the goals