Aws Lambda

Serverless event-driven computing.

AWS Lambda, Amazon Web Services (AWS) tarafından sağlanan sunucusuz, olay güdümlü bir işlem hizmetidir. Geliştiricilerin sunucu sağlama veya yönetme zahmetine girmeden kod çalıştırmasına olanak tanır. Geliştiriciler kodlarını Lambda fonksiyonları olarak yüklerler ve AWS, bu kodu yüksek kullanılabilirlikle çalıştırmak ve ölçeklendirmek için gereken altyapıyı otomatik olarak yönetir. Fonksiyonlar, bir Amazon S3 bucket'ındaki veri değişiklikleri, bir Amazon DynamoDB tablosundaki güncellemeler veya [API Gateway](/tr/terms/api-gateway) istekleri gibi çeşitli olaylar tarafından tetiklenir. Bir tetikleyici oluştuğunda, Lambda fonksiyonu çalıştırır ve gerekli işlem kaynaklarını tahsis eder. Faturalandırma, istek sayısı ve yürütme sırasında tüketilen süre/belleğe dayanır, cömert bir ücretsiz katman ile birlikte. Temel özellikler arasında otomatik ölçeklendirme, durum bilgisi olmayan yürütme ortamları (durum harici olarak yönetilebilse de), birden çok programlama dilini destekleme (Node.js, Python, Java, C#, Go, Ruby, PowerShell ve özel çalışma zamanları) ve çok çeşitli AWS hizmetleriyle entegrasyon yer alır. Lambda fonksiyonları tipik olarak kısa ömürlüdür ve uzun süreli uygulamalar yerine belirli görevler için tasarlanmıştır. Dezavantajları arasında olası soğuk başlatmalar (fonksiyon yakın zamanda çağrılmamışsa gecikme), yürütme süresi sınırları, bellek ve geçici depolama sınırlamaları ve AWS ekosistemine satıcıya bağımlılık yer alır. Olay işleme, mikro hizmetler, veri dönüşümü ve arka uç API'leri için idealdir.

        graph LR
  Center["Aws Lambda"]:::main
  Rel_api_gateway["api-gateway"]:::related -.-> Center
  click Rel_api_gateway "/terms/api-gateway"
  Rel_microservices["microservices"]:::related -.-> Center
  click Rel_microservices "/terms/microservices"
  Rel_serverless["serverless"]:::related -.-> Center
  click Rel_serverless "/terms/serverless"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Bilgi testi

1 / 4

🧒 5 yaşındaki gibi açıkla

AWS Lambda'yı, yalnızca belirli bir yemeği (bir olay meydana geldiğinde) istediğinizde pişiren sihirli bir aşçı gibi düşünün. Aşçıya tarifi (kodunuzu) verirsiniz ve o da doğru araçları kullanarak anında pişirir, yalnızca pişirme süresi için ücret alır.

🤓 Expert Deep Dive

AWS Lambda, kapsayıcı tabanlı bir yürütme modeli üzerinde çalışır. Bir fonksiyon çağrıldığında, Lambda bir mikro kapsayıcı sağlar, fonksiyon kodunu yükler ve çalıştırır. Nadiren çağrılan fonksiyonlar için bu sağlama adımı 'soğuk başlatma' gecikmesine neden olur. Kısa bir süre içindeki sonraki çağrılar mevcut kapsayıcıyı yeniden kullanır ('sıcak başlatma'), bu da gecikmeyi önemli ölçüde azaltır. Lambda fonksiyonları doğası gereği durumsuzdur; gerekli herhangi bir durum harici olarak kalıcı hale getirilmelidir (örneğin, DynamoDB, S3, RDS'de). Eşzamanlılık modeli, bir fonksiyonun birden çok örneğinin paralel olarak çalışmasına izin verir ve AWS tarafından hesap düzeyindeki eşzamanlılık sınırlarına kadar talebi karşılamak için yönetilir. Sağlanan Eşzamanlılık (Provisioned Concurrency), gecikmeye duyarlı uygulamalar için belirli sayıda yürütme ortamını sıcak tutarak soğuk başlatmaları azaltmak için kullanılabilir. Güvenlik, fonksiyonlara diğer AWS kaynaklarına erişim için ayrıntılı izinler veren IAM rolleri aracılığıyla yönetilir. Olay kaynağı eşleme mekanizması, Lambda'nın olay kaynaklarını (Kinesis akışları gibi) yoklamasına ve fonksiyonları kayıt gruplarıyla çağırmasına olanak tanır. Mimari hususlar arasında fonksiyon bellek ayarını optimize etmek (bu aynı zamanda CPU ayarını da etkiler), bağımlılıkları yönetmek ve olası yeniden denemeler nedeniyle durum bilgisi tutarlılığı (idempotency) için tasarlamak yer alır.

📚 Kaynaklar