Üretim için AWS Lambda yapılandırma

AWS'de Uygulama Dağıtımı

Dunieski Otano

Amazon Web Services Solutions Architect

Testte çalıştı

  • İşlev tüm testleri geçti
  • Üretimde zaman aşımına uğruyor ve kısılıyor
  • Kod iyiydi; sorun yapılandırmadaydı

Testi geçen ama üretimde zorlanan sunucusuz bir işlev; bellek ve zaman aşımı ayarlarıyla oynanıyor

AWS'de Uygulama Dağıtımı

Üretimde önemli Lambda ayarları

Ortada Lambda logosu; çevrede üretim yapılandırmaları: Bellek (CPU ölçekleme kadranı), Zaman aşımı (saat), Geçici depolama ve Eşzamanlılık (paralel örnekler)

  • Memory: CPU ve ağı da ölçekler
  • Timeout: işlev öldürülmeden önceki azami saniye
  • Ephemeral storage: /tmp içinde geçici alan
  • Concurrency: aynı anda kaç tane çalışır
AWS'de Uygulama Dağıtımı

Bellek boyutu ve CPU bağlantısı

  • Daha çok bellek = orantılı daha çok CPU
  • CPU odaklı işlev daha yüksek bellekte daha hızlı çalışır
  • Daha kısa süre daha düşük maliyet demek olabilir
  • Tahminle değil, test ederek doğru boyutlandır

Bellek-maliyet eğrisi: bellek artarken süre hızla düşer sonra yataylaşır; toplam maliyet U şekli çizer ve ortada en ucuz nokta vurgulanır

AWS'de Uygulama Dağıtımı

Eşzamanlılık: ayrılmış ve hazır


Ayrılmış eşzamanlılık

  • Aynı anda en fazla yürütmeyi sınırlar
  • Alt sistemleri ve diğer işlevleri korur

Hazır (provisioned) eşzamanlılık

  • Örnekleri önceden ısıtır; soğuk başlatma olmaz
  • Gecikmeye duyarlı, kullanıcıya dönük işlevler için
AWS'de Uygulama Dağıtımı

Yapılandırma ve paylaşılan kodu paketleme

  • Environment variables: ortama özel yapılandırma
  • Layers: kod ve bağımlılıkları işlevler arasında paylaş
  • Extensions: araçlar için işlevle yan yana çalışır
  • Yapılandırmayı dağıtım paketinin dışında tut

Lambda paketleme seçenekleri: harici yapılandırmayı tutan ortam değişkenleri, ortak kitaplıkları paylaşan katmanlar ve izleme/sırlar için işleyiciyle birlikte çalışan uzantılar

AWS'de Uygulama Dağıtımı

Lambda'yı bir VPC'ye bağlama

Lambda, özel bir VPC'ye özel alt ağlardaki ENI'lerle bağlı; güvenlik grubu çıkış erişimini kontrol eder ve NAT ağ geçidi internet bağlantısı sağlar

  • İç kaynaklar için Lambda'yı özel alt ağlara ekle
  • Lambda VPC'nde ENI oluşturur
  • Güvenlik grupları erişebileceğini kontrol eder
  • Dış erişim için NAT veya VPC uç noktası gerekir
AWS'de Uygulama Dağıtımı

Hataları destinations ve DLQ'lerle yönetme

  • Asenkron çağrılar hata olunca otomatik yeniden dener
  • Lambda Destinations: onSuccess ve onFailure yönlendirme
  • Dead-letter queue: hiç başarılı olamayanları yakalar
  • Hatalı bir olayı asla sessizce düşürme

Lambda asenkron hata yönetimi: yeniden deneme döngüsü; onSuccess ve onFailure kollarına giden Lambda Destinations ve tüm denemeleri tüketen olayları yakalayan dead-letter kuyruğu

AWS'de Uygulama Dağıtımı

Hadi pratik yapalım!

AWS'de Uygulama Dağıtımı

Preparing Video For Download...