/
Canary deployment

Canary deployment

The flowchart describe the stages in a canary deployment controlled by Flagger. This tool makes it possible to control the rollout in a number of different ways (canary, A/B testing, manually gated, etc). I the chart green text indicates types of webhooks that can be used for manually controlled rollout. Below the chart there is a stepwise description of the canary deployment set in ehealth-service.

If canary is enabled for a service in the helmsman file the default configuration will make a rollout in these steps.

  1. Start deployment of canary

  2. Set traffic to 10% (stepWeight) if pod health is ok

  3. After 1 min (interval) check pod health and check threshold for request-success-rate and request-duration.

  4. If the threshold test is ok increase traffic limitation with 10% (stepWeight)

  5. If threshold still is ok after 1 min, increase traffic again. This step will repeat until 50% (maxWeight) traffic is reached.

  6. If tests are still ok after 1 min, complete rollout.

 

Specifying:

request-success-rate = 99% of all request to the service must return http code non 5xx in the last 1 min

request-duration = the 99 percentile of the request duration must be below 500 ms in the last 30 sec

 

Minimum time for full rollout = interval * iterations= 1m * 50/10 = 5 min

Minimum time for rollback = interval * threshold = 1m * 5 = 5 min

Related content

Development and deployment cycle
Development and deployment cycle
More like this
Docker Base Images
Docker Base Images
Read with this
Call Tracing
More like this
Technical Requirements for Developing Telemedicine Solutions
Technical Requirements for Developing Telemedicine Solutions
Read with this
Useful third-party tools in the eHealth Infrastructure
Useful third-party tools in the eHealth Infrastructure
More like this
Application Metrics
Application Metrics
Read with this