In a continuous delivery environment this cycle might happen multiple times per day, where each instance represents a new version of working software that has passed through a deployment pipeline.
Start up
Initialisation
- locate and parse configuration
- validate configuration
- establish connectivity to downstream services
- log success or failure details
PASS/FAIL
Ready to accept requests, but no routing in place to receive live traffic.
Smoke tests
- final readiness checks before setting live
- accept and process incoming requests, produce responses
PASS/FAIL
Load balancer updated to direct live traffic
Routine business of processing incoming requests
Requests come in via load balancer, get processed by service - potentially with calls to downstream services - and responses are returned.
Depending on demand, the number of instances of the service may be scaled up and down to service the volume of requests.
Shut down
Load balancer updated to exclude instance from receiving live traffic requests (connection draining to allow existing requests to each receive a response - check how well this is supported).
Log the fact that shutdown has been initiated.
Close all connections to downstream services.
Terminate all threads.
Process terminates.
No comments:
Post a Comment