A municipal cache-warming process can keep a container process alive while it is still not ready to serve citizen traffic. How should health probes be designed?
Select an answer to reveal the explanation.
Short Explanation
Alive isn't the same as ready—like a clerk in the building who hasn't unlocked the service window yet. Keep a liveness check for 'still running' and a readiness check for 'cache warm, take traffic.' That stops load balancers from feeding cold instances.
Full Explanation
A municipal cache-warming process can keep a container process alive while it is still not ready to serve citizen traffic, so health probes must separate liveness (process is up) from readiness (warmed and able to serve). Liveness failures restart sick processes; readiness failures keep the instance out of the load balancer until warm-up completes. Collapsing the two causes either premature traffic or unnecessary restarts during civic warm-up jobs.
Using a single probe that only checks whether the OS process exists admits unready tasks to the citizen traffic pool.
Treating readiness and liveness as identical endpoints forever recreates the same premature-traffic problem.
Disabling all probes during warm-up and never re-enabling them leaves production without health protection.
Exam caveat: Liveness versus readiness is a core container health concept tested in deployment/observability scenarios.
Operational check: Implement distinct /live and /ready probes, have readiness wait for cache warm-up completion, verify the ALB/ECS service withholds traffic until ready, and confirm liveness does not kill long warm-ups unnecessarily. Keep the civic/municipal context in mind: city apps that preload reference data at boot will otherwise flap or serve cold errors after every deploy.