FaaS Nedir?
İngilizce: Function as a Service
Yayın: · Son güncelleme:
FaaS Nedir? Kısaca
FaaS (Function as a Service, hizmet olarak fonksiyon), kodun küçük ve bağımsız fonksiyonlar hâlinde buluta yüklendiği ve yalnızca bir olay tetiklendiğinde çalıştırıldığı bulut hizmet modelidir. Sunucusuz (serverless) mimarinin temel parçasıdır.

FaaS nedir?
FaaS, uygulamanızı tek bir büyük program yerine küçük fonksiyonlara bölüp her birini buluta yüklediğiniz modeldir. Fonksiyon sürekli çalışmaz; bir HTTP isteği, yeni bir dosya yüklenmesi ya da zamanlanmış bir görev gibi olay geldiğinde birkaç milisaniye ile birkaç dakika arasında çalışır ve kapanır.
Bilinen örnekler AWS Lambda, Azure Functions, Google Cloud Functions ve Cloudflare Workers'tır. Bu model, serverless yaklaşımının en somut uygulamasıdır.
Nasıl çalışır?
Önce fonksiyon kodu yazılıp platforma yüklenir. Ardından bu fonksiyonu hangi olayın tetikleyeceği tanımlanır. Olay gerçekleştiğinde platform fonksiyon için bir çalışma ortamı açar, kodu yürütür ve sonucu döner. Eş zamanlı yüz istek gelirse platform aynı fonksiyonu paralel olarak çoğaltır.
Varsayımsal bir örnek: Bir e-ticaret sitesinde satıcı ürün fotoğrafı yüklediğinde bir fonksiyon tetiklenir. Fonksiyon fotoğrafı üç farklı boyuta küçültür ve depolama alanına kaydeder. Gün içinde hiç fotoğraf yüklenmezse fonksiyon hiç çalışmaz.
Avantajları ve sınırları
En büyük avantaj maliyet modelidir. Genellikle çalışma sayısına ve süresine göre ödeme yapılır, boşta beklerken ücret oluşmaz. Ölçeklendirme de otomatik gerçekleşir.
Sınırlar da vardır. Uzun süre çalışmayan bir fonksiyon ilk çağrıda biraz gecikmeyle açılabilir; buna soğuk başlatma (cold start) denir. Her platformun çalışma süresi ve bellek sınırları bulunur, bu yüzden uzun süren veri işleme işleri için uygun olmayabilir.
Ne zaman tercih etmeli?
Düzensiz trafik alan küçük işler, webhook karşılayıcılar, dosya dönüştürme ve zamanlanmış raporlar FaaS için uygundur. Sürekli yüksek trafik alan servislerde ise toplam maliyeti klasik bir sunucu ya da konteyner çözümüyle karşılaştırmak gerekir.
Sıkça Sorulan Sorular
FaaS ile serverless aynı şey mi?
FaaS, serverless yaklaşımının bir parçasıdır. Serverless daha geniş bir kavramdır ve sunucusuz veritabanları, kuyruk ve depolama hizmetlerini de kapsar.
FaaS fonksiyonları hangi dillerle yazılır?
Platforma göre değişmekle birlikte JavaScript, Python, Java, Go ve C# yaygın olarak desteklenir. Desteklenen sürümleri sağlayıcının belgelerinden kontrol edin.