Canary-Release-Pattern-diagram.excalidraw
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
Canary Release Pattern — Traffic Split Stages
Text Elements
Stage 1: Initial (1% Canary) ^stage1label Router / LB ^router1 99% ^pct99 1% ^pct1 Stable (v1.2) ^stable1 Canary (v1.3) ^canary1 Metrics Collector / Analysis Gate ^gate1
Stage 2: Promotion Gate ^stage2label Router / LB ^router2 90% ^pct90 10% ^pct10 Stable (v1.2) ^stable2 Canary (v1.3) ^canary2 IF error_rate > baseline + 1% FOR 5min -> ROLLBACK ^rule2 Metrics Collector / Analysis Gate ^gate2 Rollback ^rollback
Stage 3: Complete ^stage3label Router / LB ^router3 100% ^pct100 v1.3 (now Stable) ^newstable v1.2 removed ^old12
Excalidraw Data
Text Elements
Stage 1: Initial (1% Canary) ^6cADL8ZW
Router / LB ^rmR2Ng9C
Stable (v1.2) ^AkNDUBal
Canary (v1.3) ^PLw4bncE
Metrics Collector / Analysis Gate ^3vAM2BJI
Stage 2: Promotion Gate (10% Canary) ^8qQn66kF
Router / LB ^P2dBICKZ
Stable (v1.2) ^g1KzbRrz
Canary (v1.3) ^StPwotvc
IF error_rate > baseline + 1% FOR 5min -> ROLLBACK ^uJrE8iEm
Stage 3: Complete (100% promoted) ^UdIji8qJ
Router / LB ^22ie9iAi
v1.3 (now Stable) 100% traffic ^fECpQN0y
v1.2 — removed ^yaCOaZ4k
%%
Drawing
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=%%