Canary ve lineer dağıtımlar

AWS üzerinde Dağıtımları Otomatikleştirme

Dunieski Otano

Amazon Web Services Solutions Architect

Kötü bir sürüm, tüm kullanıcılar

böl

  • Ödeme mantığı değişikliği trafiğin %100'üne anında dağıtıldı
  • Canlı yükte bir hata ortaya çıktı; her ödeme başarısız
  • %10 canary bunu 5 dakikada yakalardı
  • Canary'yi atlamanın bedeli: gerçek para kaybı
AWS üzerinde Dağıtımları Otomatikleştirme

Canary dağıtım nedir

canary

  • Trafiğin küçük bir kısmını önce yeni sürüme gönder
  • Ölçümleri sabit bir bekleme süresi boyunca izle
  • Sağlıklıysa, kalanın tamamını bir kerede kaydır
  • Yaygın kalıp: %10, 5 dakika, sonra %100
AWS üzerinde Dağıtımları Otomatikleştirme

Lineer dağıtım nedir

lineer

  • Trafiği eşit artışlarla kaydır
  • Her adım arasında bekle
  • Örnek: Her 1 dakikada %10, toplam 10 dakika
  • Canary'den daha yumuşak; toplamda daha uzun sürer
AWS üzerinde Dağıtımları Otomatikleştirme

Canary vs. lineer, yan yana

  • Canary: tek dilim, sonra hepsi
  • Lineer: çok küçük adımlar
  • Canary sorunları hızlı yakalar; lineer kademeli artar
  • İkisi de geri alma tetiklenirse durur

trafik

AWS üzerinde Dağıtımları Otomatikleştirme

Lambda için CodeDeploy yapılandırmaları

  • CodeDeployDefault.LambdaCanary10Percent5Minutes: 5 dk %10, sonra %100
  • CodeDeployDefault.LambdaLinear10PercentEvery1Minute: dakikada +%10
  • CodeDeployDefault.LambdaAllAtOnce: tam trafik anında
  • ECS'de bunların ECS önekli eşleri vardır

etiket

AWS üzerinde Dağıtımları Otomatikleştirme

CloudWatch alarmlarıyla otomatik geri alma

  • Dağıtım grubuna CloudWatch alarmları ekle
  • Yaygın alarmlar: errors, duration, 5xx
  • Alarm ALARM durumuna geçerse dağıtım durur
  • CodeDeploy önceki sürüme geri alır

etiket

AWS üzerinde Dağıtımları Otomatikleştirme

Doğru yapılandırmayı seçme

seç

  • Rutin düşük riskli yama → AllAtOnce
  • Yüksek riskli üretim değişikliği → Canary
  • Yumuşak, dengeli artış istiyorsan → Linear
  • Otomatik geri alma için her zaman alarmlarla eşleştir
AWS üzerinde Dağıtımları Otomatikleştirme

Hadi pratik yapalım!

AWS üzerinde Dağıtımları Otomatikleştirme

Preparing Video For Download...