What is a single point of failure and how do you remove it?
A single point of failure is one component whose failure takes the whole system down. You remove it with redundancy: run several copies, add failover, and spread them across machines and zones.
Explain it simply
A house with one water pump has a single point of failure: when it stops, no water anywhere. Add a second pump and a switch, and one failure no longer matters.
In software, look for anything with exactly one copy: one app server, one database, one load balancer, one DNS provider, one power feed, even one engineer who knows the deployment steps.
How to remove it:
- Run at least two of each component, in different failure domains (separate racks, availability zones).
- Add health checks so traffic stops going to a dead copy.
- Database: a primary with a standby replica and automatic failover.
- Load balancer: an active-passive pair or a managed one that is itself redundant.
Redundancy has a cost and a trap: the failover mechanism can itself become a new single point of failure, and it must be tested regularly.
Example
Architecture review of a ticket-booking site:
Users -> 1 load balancer -> 3 app servers -> 1 database
^ SPOF ^ SPOF
Fix: 2 load balancers (active-passive) and a database
primary with a hot standby in another zone.App servers are not a single point: losing one of three leaves the service running.
What to say in the interview
"A single point of failure is any component without a backup whose loss stops the service. I find them by walking the request path and asking what happens if each box dies, then add redundancy across zones with health checks and automatic failover, and test the failover with drills."