deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

AWS Lambda Web Functions, Express ve Next.js sunucularını event-handler yeniden yazımı olmadan çalıştırıyor

AWS, Lambda Web Functions'ı başlattı; standart Express, Hono, Fastify ve Next.js sunucuları Lambda üzerinde değiştirilmeden çalışabiliyor, üstelik CPU tabanlı faturalandırma, çok bölgeli yönlendirme ve tek komutla deploy imkânıyla.

AWS Lambda Web Functions, Express ve Next.js sunucularını event-handler yeniden yazımı olmadan çalıştırıyor

AWS, geliştiricilerin kodlarını event handler olarak yeniden yazmak zorunda kalmadan Express, Hono, Fastify veya Next.js gibi framework'lerle oluşturulmuş sıradan HTTP sunucularını çalıştıran yeni bir form faktörü olan Lambda Web Functions'ı başlattı. AWS'nin duyurusuna göre, yerel olarak bir port dinleyen uygulama olduğu gibi deploy edilebiliyor; ölçekleme, çok bölgeli dağıtım ve geçen süreye değil CPU kullanımına dayalı faturalandırma modeli Lambda tarafından yönetiliyor.

Lambda'yı çalıştırmanın üç yolu

Bu lansman, Lambda'yı üç form faktörüne ayırıyor; hepsi aynı Firecracker izolasyon teknolojisi üzerine kurulu.

Event Functions, müşterilerin zaten tanıdığı Lambda modeli artık resmî bir isimle: bir handler tek bir event alır, işler ve bir yanıt döndürür; tekil eşzamanlı yürütme ve geçen gerçek zamana göre faturalandırma ile.

Web Functions ise yeni HTTP-native seçenek: kod bir port dinler ve standart isteklere hizmet verir, her yürütme ortamı aynı anda birçok isteği karşılar ve faturalandırma kodun gerçekte tükettiği CPU süresini izler.

MicroVM'ler, müşteri tarafından yönetilen yaşam döngüleriyle izole, stateful sandbox ortamları sağlar ve güvenilmeyen ya da kullanıcı tarafından üretilmiş kodu çalıştırmaya yöneliktir.

AWS bu üçünü rakip değil tamamlayıcı olarak sunuyor. Tek bir uygulama, asenkron arka uç işleme için Event Functions'ı, kullanıcıya dönük API ve sunucu tarafı render katmanı için Web Functions'ı, kullanıcı tarafından gönderilen kodu yürüten özellikler için MicroVM'leri kullanabilir.

Deployment nasıl çalışıyor

AWS'nin gerektirdiği tek kod değişikliği, AWS_LAMBDA_HTTP_ENDPOINT ortam değişkenini okumak; platform bu değişkene sunucunun bağlanması gereken host ve port bilgisini dolduruyor. Yerelde çalıştırmak ise bu değişkeni kendiniz ayarlamanız anlamına geliyor.

Bundan sonrası tek bir CLI komutu: aws lambda-web deploy --name my-web-app --code ./my-app. AWS'ye göre CLI, kaynak kodu paketliyor, Web Function'ı oluşturuyor, kodun revision adı verilen değiştirilemez bir anlık görüntüsünü yayınlıyor, bir HTTPS endpoint iliştiriyor ve önceden herhangi bir kaynak kurulumu gerektirmeden bir dakikadan kısa sürede canlı bir URL döndürüyor.

--regions us-east-1,eu-west-1,ap-northeast-1 gibi bir regions flag'ı eklemek, kodu üç bölgenin tamamında çoğaltıyor ve tek bir global URL'nin arkasında, best-effort esasına dayalı olarak gecikmeye göre yönlendirmeyi yapılandırıyor. Kod değişikliğinden sonra yeniden deploy, yeni bir revision yükler ve endpoint'i ona yönlendirir; AWS bu süreyi saniyelerle ölçüyor. Daha yavaş rollout'lar için revision ağırlıkları endpoint trafiğini bölebilir — örneğin yüzde 90 mevcut revision'a, yüzde 10 yenisine — böylece ek araç gerektirmeden canary deployment yapılabilir.

Eşzamanlılık ve faturalandırma

Her yürütme ortamı aynı anda 128 isteğe kadar hizmet verebildiğinden, ani trafik artışı, her isteği yeni bir ortama eşlemek yerine ısınmış ortamlar tarafından emiliyor. Web Functions kodun kullandığı CPU süresini ölçüyor; yani bir veritabanı sorgusu ya da upstream bir API çağrısı için beklemek neredeyse ücret oluşturmuyor, bellek ise ortam var olduğu sürece faturalandırılıyor. AWS, bunun sunucu tarafı render, API arka uçları ve token token yanıt akıtan AI inference endpoint'leri gibi I/O yoğun iş yüklerinde işlem maliyetlerini düşürebileceğini söylüyor.

CloudFront entegrasyonu

Web Function endpoint'leri CloudFront dağıtımları için origin olarak kullanılabiliyor; böylece statik varlıklar CDN önbelleğinden gelirken, dinamik istekler fonksiyona ulaşiyor. Origin access control da bu endpoint'lere genişletildi: CloudFront, origin'e yaptığı istekleri imzalıyor ve endpoint yalnızca kendisine bağlı dağıtımı kabul ediyor. AWS, bunu S3 için zaten mevcut olan private-origin desenine benzetiyor; endpoint'i açığa çıkarmadan veya uygulamaya özel bir yetkilendirme eklemeden elde ediliyor.

Lansman kapsamı

Web Functions, Kuzey Virginia, Ohio, Oregon, Tokyo ve İrlanda'da kullanılabiliyor. Lansmanda Arm64 üzerinde Node.js 24 (nodejs24.x) çalıştırıyorlar ve VPC bağlantısını destekliyorlar; böylece fonksiyonlar bir VPC içindeki kaynaklara erişebiliyor. Fiyatlandırma ayrıntıları Lambda fiyatlandırma sayfasında yer alıyor. Duyuru Hacker News'te de ilgi gördü ve sitenin ana sayfasına ulaştı.

Neden önemli

AWS, bu lansmanın hedeflediği mevcut durumu şöyle anlatıyor: Bugün küresel ölçekte duyarlı bir web uygulaması kurmak tipik olarak birkaç altyapı bileşenini bir araya getirmek, çok bölgeli deployment ve gecikmeye göre yönlendirme yapılandırmak ve I/O bekleme süresi için ödeme yapmamak için faturalandırma modelini ayarlamak anlamına geliyor — ve çoğu zaman elinizdeki HTTP sunucusunu olduğu gibi göndermek yerine, uygulama kodunu işlem modeline uydurmak zorunda kalıyorsunuz. Web Functions bu soruna her cepheden saldırıyor: tek bir CLI'da taşınabilir kod, CPU tabanlı faturalandırma, yerleşik yönlendirme ve revision ağırlıklı rollout'lar. Lansman kapsamı dar — tek bir Node.js runtime, yalnızca Arm64, beş bölge — ama programlama modelindeki bu değişim, AWS'nin web iş yükleri için serverless compute'u nereye taşımak istediğinin sinyalini veriyor.

  • #aws
  • #aws-lambda
  • #serverless
  • #node-js
  • #cloud

İlgili yazılar