Getting a release right.
WHAT THE APPLICATION MUST DO
Handle a termination signal gracefully Finish in-flight requests before exiting Start without requiring dependencies to be ready Expose readiness separately from liveness
WHAT THE DEPLOYMENT MUST DO
Replace instances gradually Wait for readiness before sending traffic Keep enough capacity throughout
WHAT THE DATABASE MUST ALLOW
Both versions running simultaneously.
WHAT THAT MEANS
Schema changes made additively, in stages.
WHAT TO VERIFY BEFORE DEPLOYING
That rollback is possible That the previous image is still available That migrations are reversible or compatible
WHAT TO MONITOR DURING
Error rate Latency Readiness failures Restarts
WHAT TO DO ON A SPIKE
Stop the rollout, and reverse.
WHAT TO AUTOMATE
That reversal, where possible.
WHAT TO CHECK AFTER
That every instance is the new version That no instances are restarting That queues are draining normally
WHAT COMMONLY GOES WRONG
Connections dropped because shutdown is abrupt Traffic sent before the application is ready A migration incompatible with the old version
WHAT ALL THREE HAVE IN COMMON
They are application problems, not platform problems.