Skip to main content

> aws_lambda_provisioned_concurrency_ekonomisi_ve_soğuk_başlatma_maliyetleri

AWS Lambda Provisioned Concurrency Ekonomisi ve Soğuk Başlatma Maliyetleri

AWS Lambda soğuk başlatma (cold start) sürelerini yok etmek için körü körüne Provisioned Concurrency eklemek, sunucusuz fonksiyonları neden pahalı ve atıl 7/24 sunuculara dönüştürür?

Senior (L5)

ÖZET VE TEKNİK CEVAP

AWS Lambda Provisioned Concurrency, fonksiyon çalışma ortamlarını önceden başlatıp sıcak tutarak soğuk başlatma (cold start) gecikmesini sıfırlar. Ancak AWS, fonksiyon çağrılsa da çağrılmasa da rezerve edilen süre boyunca saniyelik ücret alır (GB-saniye başına $0,0000041667 = 1 GB'lık örnek başına aylık ~$11). 2 GB'lık bir fonksiyon için 3 bölgede 100 sıcak örnek ayrıldığında, tek bir istek gelmese dahi ayda $6.600 sabit bekleme ücreti ödenir. Provisioned Concurrency için Application Auto Scaling kullanmak, hafif çalışma zamanlarına (Rust, Go, esbuild Node.js, SnapStart) geçmek ve sıcak havuzu yalnızca mesai saatleriyle sınırlamak bu israfı %80 oranında azaltır.

Mühendislik El Kitabı & Mekanizma

1. Temel Çalışma Mekanizması

Standart İsteğe Bağlı (On-Demand) Lambda sıfıra kadar küçülür ve sadece çalışma süresini faturalandırır. Soğuk başlatma yaşandığında (çalışma zamanı ve VPC'ye göre 200ms - 5sn) gecikme artar. Provisioned Concurrency ise iki ayrı kalemde ücret alır: (1) Sıcak tutulan microVM için 7/24 saniyelik bekleme ücreti ($0,0000041667/GB-s) ve (2) indirimli istek çalışma süresi ($0,0000097222/GB-s). Sıcak havuzun ortalama doluluk oranı %60-70'in altındaysa bekleme ücreti faturayı domine eder. AWS Lambda SnapStart ise ek bekleme ücreti ödemeden bellek snapshot'ı üzerinden milisaniyelik soğuk başlatma sağlar.

2. Doğru Kullanım Senaryosu

1 saniyelik soğuk başlatma gecikmesini tolere edemeyen ve düzenli yüksek trafik alan kullanıcı odaklı senkron API'ler (ödeme onayları, mobil uygulama açılış kapıları). Asenkron SQS kuyrukları, S3 olayları veya EventBridge işlemcilerinde kesinlikle kullanılmamalıdır.

3. Prodüksiyon Arıza Modları

Saatte sadece 10 istek alan bir mikroservise statik 50 Provisioned Concurrency tanımlanması ve $0,05'lik asıl işlem için ayda $1.100 sabit bekleme ücreti ödenmesi; gecikmenin kullanıcıyı etkilemediği asenkron kuyruk tüketicilerinde Provisioned Concurrency açılması.

4. Teşhis ve Telemetri Sinyalleri

AWS Cost Explorer'da `AWS Lambda - ProvisionedConcurrency` harcamasının normal `Duration` ücretinden çok daha yüksek olması; CloudWatch `ProvisionedConcurrencyUtilization` metriğinin ortalama %20'nin altında seyretmesi.

5. Önleme ve Mimari Bariyerler

Provisioned Concurrency için `ProvisionedConcurrencyUtilization` (%70 hedef) üzerinde Application Auto Scaling tanımlayın; gece ve hafta sonları sıcak havuzu 0'a indiren zamanlanmış kurallar koyun; paket boyutunu optimize ederek (esbuild ile bundle, gereksiz SDK'ları temizleme) doğal soğuk başlatmayı 250ms altına indirin.

6. Mimari Ödünleşimler (Trade-offs)

Provisioned Concurrency sıfır soğuk başlatma gecikmesi garanti eder; ancak sunucusuz mimarinin esnekliğini sabit saatlik sunucu maliyetine dönüştürür.

Vaka İncelemesi (TinyCTO Örneği)

Bir mobil bankacılık API'si, soğuk başlatmayı önlemek için 1,5 GB'lık Lambda fonksiyonuna statik 200 Provisioned Concurrency tanımlamış ve ayda $3.300 bekleme ücreti ödüyordu. Trafiğin gündüz 08:00 - 20:00 arasında yoğunlaştığı ve geceleri durduğu belirlendi. %70 doluluk hedefli Auto Scaling ve gece 5 örneğe küçülme kuralı eklendiğinde aylık maliyet $850'a düştü (yılda $29.400 tasarruf) ve mesai saatlerinde sıfır cold start sağlandı.

İnteraktif Konsept Alıştırmaları

2 Alıştırma
Q1

Statik AWS Lambda Provisioned Concurrency kullanımının temel maliyet riski nedir?

İstek gelsin ya da gelmesin, sıcak tutulan microVM'ler için 7/24 saniyelik sabit bekleme ücreti ödersiniz.
Q2

İsrafı önlemek için Provisioned Concurrency dinamik olarak nasıl yönetilmelidir?

`ProvisionedConcurrencyUtilization` metriği üzerinde Hedef Takip (Target Tracking - ör. %70) özellikli Application Auto Scaling kullanarak.

AWS Lambda Provisioned Concurrency Ekonomisi ve Soğuk Başlatma Maliyetleri — Sıkça Sorulan Sorular

Asenkron Lambda çalıştırmalarında (SQS veya S3 olayları gibi) Provisioned Concurrency gerekir mi?

Neredeyse hiçbir zaman gerekmez. Arka plan kuyruk tüketicileri asenkron çalıştığı için 1 saniyelik soğuk başlatma insan kullanıcıyı etkilemez.

AWS Lambda SnapStart nedir ve Provisioned Concurrency ile ilişkisi nasıldır?

SnapStart dağıtım anında başlatılmış bellek durumunun snapshot'ını alır ve fonksiyonları 100ms altında ÜCRETSİZ başlatır; desteklenen çalışma zamanlarında pahalı Provisioned Concurrency ihtiyacını ortadan kaldırır.

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • Provisioned Concurrency charges ~$11/month per 1GB instance 24/7.
  • Static over-provisioning turns serverless into expensive fixed-capacity servers.
  • Application Auto Scaling dynamically adjusts warm pool size based on demand.
  • SnapStart and lightweight runtimes eliminate cold starts without continuous holding fees.

Yaygın Yanılgılar

  • Yanılgı: Provisioned Concurrency is required for all production Lambdas (Gerçek: Only synchronous latency-sensitive endpoints require it).
  • Yanılgı: You cannot auto-scale Provisioned Concurrency (Gerçek: AWS Application Auto Scaling natively supports Target Tracking on Lambda).

Karar Kılavuzu & Önceliklendirme

Never use static Provisioned Concurrency; always attach Target Tracking Auto Scaling. Disable Provisioned Concurrency on all asynchronous queue and event processing Lambdas.

Doğrulanmış Kaynaklar & Referanslar