Separate readiness from process health
A liveness check should answer whether the process is running well enough to continue; it should not fail merely because a downstream service is briefly slow. A readiness check can determine whether this instance should receive new traffic, such as while startup or a required initialization is incomplete.
Check only dependencies that determine whether serving requests is safe. If the health path performs expensive queries or calls many services, the check itself can add load and amplify an incident.
Protect and test the endpoint
Return a minimal status without internal credentials, customer data, or detailed error traces. If a public route exposes health information, consider whether an unauthenticated caller needs to see it and follow the hosting platform's required accessibility.
Test startup, dependency degradation, recovery, and graceful shutdown. Confirm the expected status code, timeout, and path in hosting settings; an endpoint that is healthy in development may be unreachable or differently routed in production.