Layer 3 · Go deeper · 9 min
Go deeper
Size it, build it, then make the calls an interviewer will push you on.
Back of the envelope
Size it up
Tap through each step of the arithmetic.
How many servers must you run to survive losing a zone?
Is a second region worth it for a food-delivery checkout?
Build-up · 5 steps
Walk one order path for SPOFs
A first-draft food-delivery order path. Ask of every box, then of everything it quietly needs, if this disappears right now, what does the user see?
Step 1 of 5
Draw the order path
List journeys, not services. A first-draft food-delivery order goes from the app through one load balancer to an order service and a single-primary orders database.
4 interview moments
You’re the candidate
The interviewer pushes on the hard parts. Pick an approach and see how it holds up.
Deep dive 1 of 4
Interviewer
“Two app servers now sit behind one load balancer, and that balancer is your new SPOF. What do you do?”
Your move. Pick an approach:
Deep dive 2 of 4
Interviewer
“Every order is a write to one primary database. How do you stop it being a SPOF?”
Your move. Pick an approach:
Deep dive 3 of 4
Interviewer
“Your coordinator is a three-member etcd cluster that must keep accepting writes when a zone fails. Where do the members go?”
Your move. Pick an approach:
Deep dive 4 of 4
Interviewer
“Checkout calls one payment gateway. When it has a bad evening, every order fails. What do you do?”
Your move. Pick an approach:
Build-up · 6 steps
Who protects the load balancer?
Two app servers behind one load balancer moved the SPOF; they didn’t remove it. Each fix below removes one scope of failure and leaves a larger one.
Step 1 of 6
One balancer, one SPOF
Two app servers survive a crash, but every request still crosses one load balancer. Every fix adds a component that needs its own fix.