Reliability Shared (all languages) active http-service

Services start ready and shut down gracefully

rel-003

Intent

Avoid taking traffic before the service is ready and avoid dropping in-flight work on normal shutdown.

Applicability

Applies to service bootstrap, readiness signaling, signal handlers, and shutdown paths.

What to inspect

Traffic acceptance, readiness gates, signal handling, in-flight drain logic, and shutdown timeouts.

Pass criteria

The process becomes routable only after critical startup completes and drains or cancels in-flight work deliberately on shutdown.

Fail criteria

The diff accepts traffic before readiness or exits abruptly on normal deploy or scale-down signals.

Do not flag

One-shot batch tools and scripts that do not serve traffic.

Confidence guidance

HIGH when readiness or shutdown behavior is directly visible. MEDIUM when hooks are partly framework-owned. LOW when lifecycle ownership is hidden.

Remediation

Gate readiness on real startup completion and handle termination by draining or canceling work deliberately.

Pass example

<-ready
server.ListenAndServe()

Fail example

go initCriticalDependencies()
server.ListenAndServe()

Sources

  • Release It! — Michael T. Nygard book
  • The Twelve-Factor App article