AWS Lambda Özellikleri

Neden AWS Lambda?

AWS Lambda, olaylara yanıt olarak kodunuzu çalıştıran ve temel işlem kaynaklarını otomatik olarak yöneten bir sunucusuz işlem hizmetidir. Bu olaylar, bir e-ticaret sitesinde kullanıcının bir ürünü alışveriş sepetine koyması gibi durum değişikliklerini veya güncellemeleri içerebilir. AWS Lambda'yı kullanarak diğer AWS hizmetlerinizi özel mantıkla genişletebilir veya AWS'nin ölçek, performans ve güvenlik düzeyinde çalışan kendi arka uç hizmetlerinizi oluşturabilirsiniz. AWS Lambda, Amazon API Ağ Geçidi aracılığıyla gönderilen HTTP istekleri, Amazon Simple Storage Service (Amazon S3) bucket’larındaki nesnelerde yapılan değişiklikler, Amazon DynamoDB'de gerçekleştirilen tablo güncellemeleri ve AWS Step Functions durum geçişleri gibi birden fazla olaya yanıt olarak otomatik kod çalıştırır.

Lambda, kodunuzu yüksek erişilebilirliğe sahip bir işlem altyapısında çalıştırır ve işlem kaynaklarınıza ilişkin tüm yönetim görevlerini üstlenir. Bunlar, sunucu ve işletim sistemi bakımı, kapasite tedariki ve otomatik ölçeklendirme, kod ve güvenlik düzeltme eki dağıtımı, kod izleme ve günlük kaydını içerir. Sizin tek yapmanız gereken kodu sağlamaktır.

Önemli ürün özellikleri

AWS Lambda, Amazon S3 klasörleri ve Amazon DynamoDB tabloları gibi AWS kaynaklarına özel mantık ekleyerek buluta giren veya bulutta hareket eden verilere işlem uygulamanızı kolaylaştırır.

AWS Lambda'yı kullanmaya başlamak kolaydır. İlk olarak kodunuzu yükleyip (veya doğrudan Lambda konsolunda oluşturup) belleği, zaman aşımı süresini ve AWS Kimlik ve Erişim Yönetimi (IAM) rolünü seçmeniz gerekir. Ardından işlevi tetikleyecek AWS kaynağını (belirli bir Amazon S3 bucket'ı, Amazon DynamoDB tablosu veya Amazon Kinesis akışı olabilir) belirtmeniz gerekir. Kaynak değiştiğinde Lambda, işlevinizi yürütür ve işlem kaynaklarını gelen isteklere uygun şekilde başlatıp yönetir.

AWS Lambda sayesinde Lambda uygulama programlama arabirimini (API) veya Amazon API Gateway ile oluşturulan özel API uç noktalarını kullanarak istek üzerine tetiklenen yeni arka uç uygulama hizmetleri oluşturabilirsiniz. Lambda, özel olayların bakımını istemcide yapmak yerine bunları kendisi işler ve istemci platformu farklılıklarından etkilenmemenize, pil tüketimini azaltmanıza ve güncellemelerin daha kolay gerçekleştirilmesine yardımcı olur.

AWS Lambda için öğrenmeniz gereken yeni dil, araç veya çerçeve yoktur. Yerel olanlar dahil olmak üzere istediğiniz üçüncü taraf kitaplığını kullanabilirsiniz. Ayrıca herhangi bir kodu (entegrasyonlar, SDK'lar, kitaplıklar ve daha fazlası) bir Lambda Katmanı olarak paketleyebilir ve bunları birden çok işlev arasında kolayca yönetebilir ve paylaşabilirsiniz. Lambda; Java, Go, PowerShell, Node.js, C #, Python ve Ruby kodlarını doğal olarak destekler ve işlevlerinizi oluşturmak için herhangi bir ek programlama dili kullanmanıza izin veren bir Çalışma Zamanı API'si sağlar.

AWS Lambda, kodunuzu çalıştırmak için kullanılan altyapıyı yüksek oranda erişilebilir ve hataya dayanıklı altyapıda yöneterek fark yaratacak arka uç hizmetleri oluşturmanıza odaklanmanızı sağlar. Lambda ile, düzeltme eki yayınlandığında işletim sistemini güncellemenize veya kullanım arttıkça yeni sunucu ekleme veya var olanları boyutlandırma konusunda endişelenmenize gerek yoktur. AWS Lambda, kodunuzu sorunsuz bir şekilde dağıtır, tüm yönetim, bakım ve güvenlik düzeltme eki işlemlerini üstlenir ve Amazon CloudWatch ile yerleşik günlüğe kaydetme ve izleme özellikleri sunar.

AWS Lambda, kodunuzu tek bir makine veya veri merkezi tesisi hatalarına karşı korumak için her AWS Bölgesinde birden fazla Erişilebilirlik Alanında (AZ) işlem kapasitesi sunar. Hem AWS Lambda hem de hizmet üzerinde çalışan işlevler, tahmin edilebilir ve güvenilir işlem performansına sahiptir. AWS Lambda hem hizmet hem de çalıştırdığı işlevler için yüksek oranda erişilebilirlik sunacak şekilde tasarlanmıştır. Bakım aralığı veya planlı kesinti süresi yoktur.

AWS Lambda'nın işlev paketleme ve container görüntüsü olarak dağıtma desteği müşterilerin aşina oldukları araçları, iş akışlarını ve bağımlılıkları kullanarak Lambda tabanlı uygulamalar geliştirmesini kolaylaştırır. Müşteriler bunun yanında Lambda'nın sunduğu operasyonel basitlik, saniyenin altında başlangıç süreleriyle otomatik ölçeklendirme, yüksek erişilebilirlik, kullandığın kadar öde faturalama modeli, 200'ün üzerinde AWS hizmeti ve hizmet olarak yazılım (SaaS) uygulaması ile yerel entegrasyondan yararlanır. Kurumsal müşteriler hem Lambda hem de container'lı uygulamalarıyla tutarlı bir dizi araç kullanarak güvenlik taraması ve görüntü imzalama gibi merkezi yönetişim gerekliliklerini basitleştirebilir.

AWS Lambda, kodunuzu yalnızca gerekli olduğunda çağırır ve herhangi bir manuel yapılandırma olmaksızın gelen istek sayısına göre otomatik olarak ölçeklendirme yapar. Kodunuzun işleyebileceği istek sayısı konusunda herhangi bir sınır yoktur. AWS Lambda genellikle kodunuzu olaydan itibaren milisaniyeler içinde çalıştırmaya başlar. Lambda otomatik olarak ölçeklendirme yaptığı için olay sıklığı arttıkça performans da tutarlı olarak yüksek düzeyde kalır. Kodunuzda durum bilgisi olmadığından Lambda, dağıtım ve yapılandırma kaynaklı uzun gecikme süreleri olmadan işlevinizin istenen sayıda örneğini başlatabilir.

İlişkisel veri tabanları için tam olarak yönetilen bağlantı havuzlarından yararlanmak amacıyla Amazon RDS Proxy'sini kullanın. RDS Proxy, ilişkisel veri tabanlarına yapılan binlerce eş zamanlı bağlantıyı verimli bir şekilde yönetir ve ilişkisel veri tabanlarıyla etkileşen, yüksek oranda ölçeklenebilir, güvenli, Lambda temelli sunucusuz uygulamalar oluşturmayı kolaylaştırır. Mevcut durumda RDS Proxy'nin, MySQL ve Aurora için desteği bulunmaktadır. Sunucusuz uygulamalarınız için RDS Proxy'yi, Amazon RDS veya AWS Lambda konsolu aracılığıyla kullanabilirsiniz.

Tedarik Edilen Eş Zamanlılık, sunucusuz uygulamalarınızın performansı üzerinde daha fazla kontrol sunar. Tedarik Edilen Eş Zamanlılık etkinleştirildiğinde, işlevleri başlatır ve çift basamaklı milisaniyelerde yanıt vermeye hazır olarak tutar. Tedarik Edilen Eş Zamanlılık, işlev başlama zamanı üzerinde daha fazla kontrol gerektiren tüm AWS Lambda uygulamaları için idealdir. Uygulamanızın ihtiyaç duyduğu eş zamanlılığı kolayca yapılandırın ve ayarlayın. İhtiyaca göre artırın, azaltın veya tamamen kapatın. Tedarik Edilen Eş Zamanlılıktan faydalanarak, kodunuzu değiştirmeden veya işlem kaynaklarını yönetmek zorunda kalmadan, gecikmeye duyarlı uygulamalar için tutarlı performans elde edin.

AWS Lambda için Amazon Elastic File System (EFS) ile uygun ölçekte, düşük gecikme süresiyle büyük hacimli verileri güvenli bir şekilde okuyabilir, yazabilir ve kalıcı hale getirebilirsiniz. Kod yazmanız ve verileri işlemek için geçici depolama alanına indirmeniz gerekmez. Bu, zamandan tasarruf edip kodu basitleştirerek iş mantığınıza odaklanmanızı sağlar. Lambda için EFS, büyük miktardaki verileri işleme veya yedekleme, büyük başvuru dosyalarını veya modellerini yükleme gibi çeşitli kullanım örnekleri için idealdir. Ayrıca, AWS Lambda için EFS'yi kullanarak sunucusuz bulut sunucuları veya container tabanlı uygulamalar arasında dosyalar paylaşabilir ve hatta makine öğrenimi (ML) çıkarımı çalıştırabilirsiniz.

AWS Lambda, Lambda@Edge sayesinde kodunuzu kaynak sunuculardaki ve görüntüleyenlerdeki gelen veya giden içerik isteği gibi Amazon CloudFront olaylarına yanıt olarak kodunuzu dünyanın farklı yerlerindeki AWS konumlarında çalıştırabilir. Bu sayede son kullanıcılarınıza daha düşük gecikme süresi ile daha gelişmiş ve kişiselleştirilmiş içerik sunabilirsiniz. 

AWS Step Functions iş akışları oluşturarak karmaşık veya uzun süreli görevler için birden fazla AWS Lambda işlevini düzenleyin. Step Functions; sıralı, paralel, dal oluşturma ve hata işleme adımlarını kullanarak Lambda işlevi koleksiyonu tetikleyen iş akışları tanımlamanızı sağlar. Step Functions ve Lambda ile uygulamalar ve arka uçlar için durum bilgisine sahip olan uzun süreli işlemler oluşturabilirsiniz.

AWS Lambda'nın yerleşik yazılım geliştirme seti (SDK), AWS Kimlik ve Erişim Yönetimi (IAM) ile entegre olarak başka AWS hizmetlerine güvenli kod erişimi sağlar. AWS Lambda, kodunuzu varsayılan olarak bir Amazon Virtual Private Cloud (VPC) içinde çalıştırır. İsteğe bağlı olarak, özel güvenlik gruplarından ve ağ erişim denetimi listelerinden yararlanmak için AWS Lambda kaynak erişimini kendi VPC'nizin arkasında yapılandırabilirsiniz. Bu, bir VPC içindeki kaynaklarınıza güvenli Lambda işlev erişimi sağlar. AWS Lambda; SOC, HIPAA, PCI ve ISO ile uyumludur. Güncel Lambda sertifika ve uygunluk hazırlığı bilgileri için lütfen kapsam dahilindeki hizmetler sayfasının tamamını inceleyin.

AWS Lambda için Kod İmzalama, Lambda işlevlerinizde sadece onaylı geliştiriciler tarafından yayınlanmış ve üzerinde değişiklik yapılmamış kodların dağıtılacağını doğrulamanızı mümkün kılar. Dijital olarak imzalanmış kod yapıtları oluşturmanız ve dağıtım anında imzaları doğrulamak üzere Lambda işlevlerinizi yapılandırmanız yeterlidir. Bu, büyük ekiplerde bile uygulama geliştirme faaliyetlerinizin hızını ve çevikliğini artırırken, bir yandan da yüksek güvenlik standartlarını uygular.

AWS Lambda ile sunucu birimi yerine yürütme süresi için ödeme yaparsınız. Lambda işlevlerini kullandığınızda yalnızca sunulan istek sayısına ve kodunuzu çalıştırmak için gerekli olan işlem süresine göre ödeme yaparsınız. Faturalama bir milisaniye ve katları olarak hesaplanır ve bu sayede günde birkaç istekten saniyede binlerce istek kolayca ve uygun maliyetli olarak otomatik ölçeklendirilir. Tedarik Edilen Eş Zamanlılık ile, yapılandırdığınız eş zamanlılık miktarı ve yapılandırdığınız süre için ödeme yaparsınız. Tedarik Edilen Eş Zamanlılık etkinleştirildiğinde ve işleviniz yürütüldüğünde, istekler ve yürütme süresi için de ödeme yaparsınız. Fiyatlandırma hakkında daha fazla bilgi edinmek için lütfen AWS Lambda Fiyatlandırması sayfasını ziyaret edin.

İşlevlerinize tahsis etmek istediğiniz bellek miktarını seçtikten sonra AWS Lambda buna uygun CPU gücünü, ağ bant genişliğini ve disk giriş/çıkış (I/O) değerlerini tahsis eder.

AWS Lambda uzantıları, Lambda'yı en sevdiğiniz izleme, gözlenebilirlik, güvenlik ve yönetişim araçlarıyla kolayca entegre etmenizi sağlar. Lambda, işlevinizi bir yürütme ortamında çağırarak işlev kodunuzun yürütüldüğü yerde güvenli ve yalıtılmış bir çalışma zamanı sağlar. Lambda uzantıları, işlev kodunuzla beraber Lambda yürütme ortamında çalışır. Lambda uzantıları; günlükler, ölçümler ve izlemeler gibi hassas tanılama bilgilerini doğrudan Lambda’dan kaydetmek ve bunları istediğiniz bir yere göndermek için AWS Lambda Telemetry API’yi kullanabilir. Ayrıca tercih ettiğiniz güvenlik aracılarını Lambda ile, operasyonel iş yükü olmadan ve işlevlerinizin performansı üzerinde minimum etkiyle entegre etmek için uzantı kullanabilirsiniz.

AWS tarafından tasarlanan Arm tabanlı işlemci mimarisini kullanan Graviton2 üzerinde çalışan AWS Lambda işlevleri, x86 işlemcilerde çalışan işlevlere kıyasla %34'e kadar daha iyi fiyat performansı sunar. Bu, web ve mobil arka uçlar, veri ve medya işleme gibi çeşitli sunucusuz iş yükleri için geçerlidir. Daha düşük gecikme süresi, %19'a kadar daha iyi performans, %20 daha düşük maliyet ve şu anda AWS'de bulunan en yüksek güç verimliliği ile Graviton2 işlevleri, görev açısından kritik öneme sahip sunucusuz uygulamaları desteklemek için kullanılabilir.

AWS Lambda; günlükleri, ölçümleri ve izleri otomatik olarak yakalayıp Amazon CloudWatch ve AWS X-Ray gibi AWS izleme ve gözlemlenebilirlik hizmetlerine göndererek yerleşik izleme yetenekleri sağlar. Lambda ayrıca günlükleri gerçek zamanlı olarak görüntülemenizi ve analiz etmenizi sağlayan Live Tail gibi gelişmiş izleme yetenekleri ve JSON yapılandırılmış biçiminde günlükleri yerel olarak yakalamanıza, kod değişikliği yapmadan günlük seviyesi filtrelemeyi kontrol etmenize ve Lambda'nın günlükleri gönderdiği CloudWatch günlük grubunu özelleştirmenize olanak tanıyan gelişmiş günlük denetimleri sunar. Uygulama Sinyalleri ile Lambda, sunucusuz uygulamalarınızdaki aktarım hızını, erişilebilirliği, gecikmeyi, arızaları ve hataları izlemek için kullanıma hazır bir uygulama performansı izleme (APM) aracı sunar. Lambda Öngörüleri; bellek, CPU ve ağ kullanımı dahil olmak üzere ayrıntılı ölçümleri otomatik olarak yakalar ve Lambda işlevinizin performansı hakkında daha derin öngörüler sunar. Ek olarak Lambda, Lambda uzantıları aracılığıyla üçüncü taraf izleme araçlarıyla sorunsuz entegrasyonu destekler ve sunucusuz uygulamalarınızı izlemek ve sorun gidermek için tercih ettiğiniz araçları kullanmanızı kolaylaştırır.