Rotate broken backends out before users notice.
Health Checks, Circuit Breakers, Drains: rotate broken backends out before users notice
move the first decision closer to the user
Long drains slow deploys; short drains drop in-flight.
Health checks let LBs route only to working backends. Liveness asks 'are you alive?', readiness asks 'are you ready to take traffic?', and deep checks ask 'do you really work end-to-end?'.
Circuit breakers stop sending requests to a downstream failing too often, giving it time to recover.
Drains: stop sending new traffic to an instance, let in-flight finish, then remove. Critical for clean deploys.
Beware deep checks that depend on downstreams: a flaky DB can mark every instance unhealthy.
Rolling deploy with no user-visible errors.