Implementări canary și liniare

Automatizarea implementărilor pe AWS

Dunieski Otano

Amazon Web Services Solutions Architect

O lansare defectuoasă, toți utilizatorii

împărțire

  • Modificarea logicii de plată se implementează instant la 100% din trafic
  • Bugul apare sub sarcină reală; fiecare finalizare a comenzii eșuează
  • Un canary de 10% l-ar fi detectat în cinci minute
  • Costul renunțării la canary: bani reali pierduți
Automatizarea implementărilor pe AWS

Ce este o implementare canary

canary

  • Trimite o mică parte din trafic către noua versiune, mai întâi
  • Monitorizează metricile pe o perioadă fixă de așteptare
  • Dacă e sănătos, transferă restul dintr-odată
  • Model comun: 10% timp de 5 minute, apoi 100%
Automatizarea implementărilor pe AWS

Ce este o implementare liniară

liniar

  • Transferă traficul în trepte egale
  • Așteaptă între fiecare pas
  • Exemplu: 10% la fiecare 1 minut, timp de 10 minute
  • Mai lin decât canary, dar durează mai mult în total
Automatizarea implementărilor pe AWS

Canary vs. liniar, comparație directă

  • Canary: o parte, apoi totul
  • Liniar: mulți pași mici
  • Canary detectează rapid problemele; liniar crește treptat
  • Ambele se opresc dacă se declanșează un rollback

trafic

Automatizarea implementărilor pe AWS

Configurații CodeDeploy pentru Lambda

  • CodeDeployDefault.LambdaCanary10Percent5Minutes: 10% timp de 5 min, apoi 100%
  • CodeDeployDefault.LambdaLinear10PercentEvery1Minute: +10% pe minut
  • CodeDeployDefault.LambdaAllAtOnce: tot traficul imediat
  • ECS are configurații echivalente cu prefixul ECS

etichetă

Automatizarea implementărilor pe AWS

Rollback automat cu alarme CloudWatch

  • Atașează alarme CloudWatch la grupul de implementare
  • Alarme comune: erori, durată, 5xx
  • Dacă alarma intră în starea ALARM, implementarea se oprește
  • CodeDeploy face rollback la versiunea anterioară

etichetă

Automatizarea implementărilor pe AWS

Alegerea configurației potrivite

alegere

  • Patch de rutină, cu risc scăzut → AllAtOnce
  • Modificare de producție cu risc ridicat → Canary
  • Vrei o creștere treptată și lină → Linear
  • Combină mereu cu alarme pentru rollback automat
Automatizarea implementărilor pe AWS

Hai să exersăm!

Automatizarea implementărilor pe AWS

Preparing Video For Download...