Serverless
- Türkçe karşılığı
- sunucusuz
- Okunuşu
- sörvırles
Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.
Kısaca
Serverless, sağlayıcının kodu talep üzerine çalıştırıp sunucuları yönettiği, otomatik ölçeklediği ve yalnızca gerçek kullanıma ücret aldığı bulut modelidir.
Serverless bilişim nedir?
Serverless bilişim, sunucuları kendiniz hazırlamadan ve bakımını yapmadan kod çalıştırmanıza ya da arka uç hizmetlerini kullanmanıza olanak tanır. Elbette yine sunucular vardır, ancak işletim sistemi güncellemeleri, kapasite ve ölçekleme dahil hepsini bulut sağlayıcısı tamamen yönetir; siz de uygulama kodunuza odaklanırsınız.
En bilinen biçimi hizmet olarak fonksiyonlardır (FaaS); AWS Lambda, Azure Functions, Google Cloud Run functions ve Cloudflare Workers bunlara örnektir. Bir fonksiyon yüklersiniz ve bu fonksiyon bir HTTP isteği, dosya yükleme, kuyruk mesajı ya da zamanlama gibi bir olaya yanıt olarak çalışır. Platform gerektiği kadar kopya başlatır, boştayken sıfıra kadar küçülür ve istek sayısı ile yürütme süresi başına ücret alır.
Bir benzetme, araba sahibi olmak yerine taksiye binmektir: bakım, park ve sigortayla uğraşmazsınız ve yalnızca bindiğiniz yolculuklar için ödersiniz. Serverless ayrıca serverless veritabanları, depolama ve mesaj kuyrukları gibi yönetilen hizmetleri de kapsar; bunlar da kullandığın kadar öde ve yönetilecek sunucu yok fikrini izler.
Serverless'in bazı ödünleşimleri vardır. Yakın zamanda çalışmamış bir fonksiyon, platform onu ayağa kaldırırken kısa bir gecikme olan cold start yaşayabilir; fonksiyonların genellikle süre ve bellek sınırları da vardır, bu da onları uzun süren işler için uygunsuz kılar. Konteynerlerle karşılaştırıldığında serverless ortam üzerinde daha az kontrol sağlar, ama çok daha az operasyonel iş de gerektirir.
Bir bakışta
Önemli noktalar
- Serverless, sunucu yok demek değildir; sunucuları sizin yönetmediğiniz anlamına gelir.
- Kod, HTTP istekleri ya da dosya yüklemeleri gibi olaylara yanıt olarak çalışır.
- Otomatik ölçeklenir; boştayken sıfıra kadar iner.
- Boştaki sunucular için değil, istek sayısı ve yürütme süresi başına ödersiniz.
- Cold start'lara, yürütme süresi sınırlarına ve sağlayıcıya bağımlılığa (vendor lock-in) dikkat edin.
Örnek
// Runs only when an HTTP request arrives; no server to manage
export const handler = async (event) => {
const name = event.queryStringParameters?.name ?? "world";
return {
statusCode: 200,
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ message: `Hello, ${name}!` }),
};
};Sık sorulan sorular
Serverless, sunucu olmadığı anlamına mı gelir?
Hayır. Kodunuzu yine sunucular çalıştırır, ancak bulut sağlayıcısı onları tamamen yönettiği için sunucuları kendiniz hazırlamaz, yama yapmaz ya da ölçeklemezsiniz.
Serverless'te cold start nedir?
Cold start, hazır bir örnek bulunmadığı için platformun fonksiyonunuzun yeni bir örneğini başlatması gerektiğinde ortaya çıkan ek gecikmedir; çalışma zamanına ve platforma bağlı olarak on milisaniyelerden birkaç saniyeye kadar değişir. Sık kullanılan fonksiyonlar sıcak kalır ve daha hızlı yanıt verir.
Serverless ile konteynerler arasındaki fark nedir?
Konteynerlerde tüm ortamı siz paketlersiniz ve genellikle nerede, nasıl çalışacağına, çoğu zaman Kubernetes ile siz karar verirsiniz. Serverless'te yalnızca kodu sağlarsınız; çalıştırma, ölçekleme ve kullanım başına faturalandırmayı platform üstlenir.
İlgili sayfalar
- KonteynerDevOps ve Bulut, s. 28Konteyner, bir uygulamayı bağımlılıklarıyla paketleyip ana makinenin paylaşılan işletim sistemi çekirdeği üzerinde çalıştıran hafif, yalıtılmış bir pakettir.
- DevOpsDevOps ve Bulut, s. 13DevOps, yazılım geliştirme ile BT operasyonlarını birleştirerek yazılımın daha hızlı ve güvenilir sunulmasını sağlayan bir kültür ve pratikler bütünüdür.
- APIBackend ve API'ler, s. 2API, bir yazılımın başka bir yazılımdan veri ya da işlem talep etmesini sağlayan, belgelenmiş ve öngörülebilir kurallar bütünüdür.
- MikroservislerYazılım Mimarisi, s. 24Mikroservisler, bir uygulamanın ağ üzerinden iletişim kuran, küçük ve bağımsız olarak dağıtılabilen servislere bölündüğü bir mimari tarzdır.
- CDNDevOps ve Bulut, s. 7CDN, dünyanın dört bir yanına yayılmış ve web sitesi içeriğinin kopyalarını saklayıp her kullanıcıya en yakın konumdan sunan bir sunucu ağıdır.
- KubernetesDevOps ve Bulut, s. 30Kubernetes, konteynerli uygulamaların bir makine kümesi üzerinde dağıtılmasını, ölçeklenmesini ve yönetilmesini otomatikleştiren açık kaynaklı bir sistemdir.
- PaaSDevOps ve Bulut, s. 38PaaS (platform as a service), kodunuzu dağıttığınız, altındaki sunucuları, işletim sistemlerini ve ölçeklemeyi sağlayıcının çalıştırdığı bir bulut modelidir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin