Yerinde ve blue/green dağıtımlar

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

Dunieski Otano

Amazon Web Services Solutions Architect

Gece 2'de kesinti

2.00

  • Topyekûn dağıtım ters gider
  • Her sunucu bozuk sürümü çalıştırır
  • Müşteriler bir saat hata görür
  • Geri alma için bir tam dağıtım daha gerekir
AWS üzerinde Dağıtımları Otomatikleştirme

Neden dağıtım stratejisi önemli?

2.1

  • Kötü bir sürüm hizmeti çökertir
  • Topyekûn = en hızlı, en riskli
  • Kademeli yayılım = daha yavaş, daha güvenli
  • Strateji, hata olursa etki alanını sınırlar
AWS üzerinde Dağıtımları Otomatikleştirme

Yerinde (in-place) dağıtımlar

in-place

  • Trafiği sunan aynı örneklere dağıt
  • Bir seferde bir parti: yarısı, sonra yarısı; ya da teker teker
  • Her partiyi ilerlemeden önce sağlık kontrolünden geçir
  • Ucuz; ek altyapı gerekmez
AWS üzerinde Dağıtımları Otomatikleştirme

Blue/green dağıtımlar

  • Mavi = mevcut üretim filosu
  • Yeşil = yeni sürümü içeren yepyeni filo
  • Yük dengeleyici trafiği maviden yeşile kaydırır
  • Eski filo hızlı geri alma için erişilebilir kalır

blue-green

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

Lambda ve ECS tasarım gereği blue/green'dir

  • Lambda: trafik alias version pointer ile kayar
  • ECS: trafik replacement task set ile kayar
  • EC2 tarzı filo çoğaltma gerekmez
  • Yine de bir dağıtım yapılandırması seçersin

ecs

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

Yerinde mi, blue/green mi?

  • Bütçe kısıtlı, düşük riskli yama → yerinde
  • Sıfır kesinti ya da anında geri alma gerekirse → blue/green
  • Tek eski sunucu → yerinde tek seçenek
  • Lambda veya ECS → blue/green yerleşik

decide

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

CodeDeploy'da geri alma

rollback

  • Geri alma = önceki başarılı revizyonu yeniden dağıt
  • Dağıtım hatasında otomatik tetikle
  • CloudWatch alarmında otomatik tetikle
  • Blue/green geri alma: yük dengeleyiciyi geri çevir
AWS üzerinde Dağıtımları Otomatikleştirme

Hadi pratik yapalım!

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

Preparing Video For Download...