Dağıtım stratejileri: sürümler, takma adlar ve trafik kaydırma

AWS Lambda ile Sunucusuz Uygulamalar

Claudio Canales

Senior DevOps Engineer

Neden dağıtım stratejisi önemlidir

  • Hataları hızla yakalayın.
  • Etki alanını sınırlayın.
  • Hızlı toparlanın.

Riskli dağıtım vs güvenli dağıtım

AWS Lambda ile Sunucusuz Uygulamalar

$LATEST vs yayımlanan sürümler

$LATEST

  • Kodu her güncellediğinizde hareket eder.

Sürümler

  • Değişmez anlık görüntüler.
  • Geri alma ve trafik bölme için sabitlemesi kolay.

Latest ve sürümler

AWS Lambda ile Sunucusuz Uygulamalar

Bir sürüm değişmez bir anlıktır

  • Sürümleri yayın eseri gibi ele alın.
  • Her biri kod ve yapılandırmayı içerir.
  • Yayımlandıktan sonra değişmez.
  • Her zaman bilinen iyi duruma dönebilirsiniz.

Değişmez sürüm anlık görüntüsü

AWS Lambda ile Sunucusuz Uygulamalar

Takma adlar kararlı göstergelerdir

  • Kararlı bir gösterge.
  • Sürüm yerine takma adı çağırın.
  • Arayanları değiştirmeden hedefini güncelleyin.

Takma ad bir sürümü işaret eder

AWS Lambda ile Sunucusuz Uygulamalar

Dev ve prod takma adları

  • Ortamlar için idealdir.
  • devi sık taşayın.
  • Takma adı taşıyarak proda terfi ettirin.

Dev ve prod takma ad eşlemesi

AWS Lambda ile Sunucusuz Uygulamalar

Ağırlıklı takma adlarla trafik kaydırma

  • Prod'da güvenle test edin.
  • Trafiğin çoğu mevcut sürümde kalır.
  • Küçük bir yüzde aday'a gider.

Ağırlıklı takma ad yönlendirme kavramı

AWS Lambda ile Sunucusuz Uygulamalar

Kanarya adım 1: 90/10

  • %90 mevcut sürümde kalır.
  • %10 aday'ı gerçek yükte test eder.
  • Hataları ve gecikmeyi izleyin.

Kanarya 90/10 bölünme

AWS Lambda ile Sunucusuz Uygulamalar

Kanarya adım 2: 50/50

  • %10'luk dilim iyi ise ağırlığı artırın.
  • %50 mevcut, %50 aday.
  • Sorunlar 50/50'de hızla görünür.
  • İzleme kritik önemdedir.

Kanarya 50/50 bölünme

AWS Lambda ile Sunucusuz Uygulamalar

Kanarya adım 3: %100 yeni

  • Tüm trafiği yeni sürüme yönlendirin.
  • Eski sürüm durur.
  • Geri alma basittir.

Kanarya %100 yeni

AWS Lambda ile Sunucusuz Uygulamalar

Mavi/yeşil zihinsel model

  • Mavi = mevcut kararlı sürüm.
  • Yeşil = yeni aday sürüm.
  • Takma adı taşıyarak geçiş yapın.
  • Ağırlıklı yönlendirme geçişi kademeli yapar.

Mavi yeşil geçiş

AWS Lambda ile Sunucusuz Uygulamalar

Geri alma = takma adı geri taşımak

  • Yeniden dağıtım gerekmez.
  • Takma adı son bilinen iyi sürüme taşıyın.
  • Saniyelerde toparlanın, saatlerde değil.
  • Değişmez sürümler ve kararlı takma adlar birlikte çalışır.

Takma adı geri taşıyarak geri alma

AWS Lambda ile Sunucusuz Uygulamalar

Kaydırma sırasında izleyin

  • Hatalar ve zaman aşımları.
  • Süre ve kuyruk sonu gecikmesi.
  • Kota kullanıyorsanız kısıtlamalar.
  • Hızla duraklatın veya geri alın.

Dağıtım izleme metrikleri

AWS Lambda ile Sunucusuz Uygulamalar

Yaygın hata: $LATEST'i prod gibi görmek

  • $LATEST'e güvenmek öngörülebilirliği azaltır.
  • Sürümler ve takma adlar neyin çalıştığını netleştirir.
  • Geri almalar güvenlidir.

Latest sapması uyarısı

AWS Lambda ile Sunucusuz Uygulamalar

Yok sayın

AWS Lambda ile Sunucusuz Uygulamalar

Güvenli dağıtım kontrol listesi

  • Bir sürüm yayınlayın.
  • Trafiği takma adla kademeli kaydırın.
  • Sonuçları izleyin.
  • Her adımda geri alma hazır olsun.

Güvenli dağıtım kontrol listesi diyagramı

AWS Lambda ile Sunucusuz Uygulamalar

Öne çıkanlar

  • Sürümler öngörülebilirlik sağlar.
  • Takma adlar kararlılık sağlar.
  • Ağırlıklı yönlendirme güvenlik katar.
  • Geri alma = takma adı taşımak.

Dağıtımın temel çıkarımları

AWS Lambda ile Sunucusuz Uygulamalar

Hadi pratik yapalım!

AWS Lambda ile Sunucusuz Uygulamalar

Preparing Video For Download...