Elasticity: bulut kaynaklarının talebe göre esnemesi
Sözlük

Elasticity: bulut kaynaklarının talebe göre esnemesi

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

Bulut esnekliği, kaynakların talebe göre otomatik artıp azalmasıdır. Ölçeklenebilirlikten farkı, çalışma mantığı, örnek senaryo ve sınırları anlatılır.

Elasticity nedir?

Elasticity, Türkçe karşılığıyla esneklik, bulut ortamında kaynakların anlık talebe göre otomatik olarak artırılıp azaltılabilmesidir. İş yükü yükseldiğinde sistem fazladan kapasite alır, iş yükü düştüğünde bu kapasiteyi geri bırakır. Kullanıcı yalnızca kullandığı kaynağın bedelini öder, kaynak da gereğinden fazla ya da az kalmaz.

Bu özellik, bulutu eski usul veri merkezinden ayıran temel niteliklerden biridir. Sabit sayıda sunucuyla çalışan bir veri merkezinde kapasite en yoğun gün için ayrılır ve çoğu zaman boşta bekler. Esnek bulut ortamında kapasite talebi izler.

Esneklik ile ölçeklenebilirlik aynı şey mi?

Bu kavramlar sık karıştırılır. Ölçeklenebilirlik (scalability), sistemin daha fazla yükü taşıyacak biçimde büyütülebilme yeteneğidir. Esneklik ise bu büyümenin ve küçülmenin otomatik, anlık ve talebe bağlı gerçekleşmesidir. Ölçeklenebilir bir sistem, kapasite elle artırılarak da büyüyebilir; esnek sistem ise kapasiteyi kendisi ayarlar.

Bir benzetme: Ölçeklenebilirlik, otobüse yeni koltuk eklenebilmesi demektir. Esneklik, yolcu sayısı arttıkça ekstra otobüsün kendiliğinden hatta çıkması ve yolcu azalınca garaja dönmesidir. Esneklik, ölçeklenebilirliği gerektirir ama onun yerine geçmez.

Esneklik nasıl çalışır?

Mekanizma bir döngüdür. Sistem, işlemci kullanımı, bellek, istek sayısı ya da kuyruktaki mesaj sayısı gibi metrikleri izler. Önceden tanımlı bir eşik aşıldığında otomatik ölçeklendirme kuralı tetiklenir ve yeni kopya başlatılır; yük normale döndüğünde fazla kopyalar kapatılır. Bazı platformlar zamanlanmış kural da sunar, örneğin her sabah belirli saatte kapasiteyi yükseltmek gibi.

Sunucusuz (serverless) mimarilerde esneklik daha ileri gider: kod yalnızca istek geldiğinde çalışır, istek yoksa kaynak tüketmez. Yönetilen veritabanı ve kuyruk hizmetleri de bu mantığı yük bazında uygulayabilir. Ayrıntı, bulut sağlayıcısına ve kullanılan hizmete göre değişir.

Örnek: haftalık yoğunluğu olan bir uygulama

Örneğin bir yemek sipariş uygulaması, öğle ve akşam saatlerinde yoğun, gece saatlerinde sakin çalışsın. Sabit kapasiteyle işletilirse ya yoğun saatte yavaşlar ya da gece boş kalan sunuculara para öder. Esnek yapıda uygulama kopyaları öğle saatinde artar, gece azalır. Faturalama kullanıma bağlı olduğu için maliyet yük eğrisini izler.

Aynı örnekte esneklik tek başına yetmez: kopya sayısı artarken yeni kopyaların hazır hale gelme süresi, veritabanının bu yükü kaldırıp kaldırmayacağı ve oturum bilgisinin ortak tutulup tutulmadığı da hesaba katılmalıdır. Aksi halde ölçeklendirme kuralı çalışsa bile kullanıcı yavaşlığı hisseder.

Esnekliğin sınırları

Esneklik sihirli değildir ve bazı koşullara bağlıdır:

  • Durumlu uygulama: Oturum ya da veri sunucunun belleğinde tutuluyorsa kopya eklemek işe yaramaz. Uygulama durumsuz tasarlanmalıdır.
  • Başlatma gecikmesi: Yeni kopya hazır olana kadar geçen süre ani yük sıçramasını karşılayamayabilir. Hafif uygulamalar ve hızlı açılan servisler bu açıdan avantajlıdır.
  • Alt bileşenler: Uygulama katmanı esner ama veritabanı ya da harici servis esnemiyorsa darboğaz oraya kayar.
  • Maliyet kontrolü: Kuralsız bırakılan otomatik büyüme, hatalı bir döngü ya da saldırı trafiği altında faturayı şişirebilir; üst sınır ve bütçe uyarısı tanımlanmalıdır.
  • Kota: Bulut sağlayıcıları hesap bazında kaynak kotası uygular; esneme bu kotaya takılabilir.

Mindset programlarında bulut esnekliği

Bulut Bilişim Temelleri programı; servis modelleri, dağıtım modelleri ve maliyet yönetimi modülleriyle buluta yeni giren yazılımcı, sistem yöneticisi ve ürün ekipleri için esnekliğin temel mantığını kurar. Bulut Doğal (Cloud-Native) Uygulama Tasarım Prensipleri programındaki durum yönetimi ve dayanıklılık modülleri, esneyebilen uygulamanın nasıl tasarlandığını geliştiricilere ve mimarlara gösterir. Bulut Doğal Veri Yığını Tasarımı programı, veri ekipleri için gözlemlenebilirlik, maliyet ve işletim konularını ele alır. Quarkus ve Micronaut ile Bulut Doğal Java programı ise Java servislerini bulut ortamına uygun geliştirmek isteyen backend ekiplerine yöneliktir.

İlgili Mindset programı

Bulut Bilişim Temelleri

Sık sorulanlar

Sık sorulan sorular

Esneklik ile otomatik ölçeklendirme aynı şey mi?

Birbirine çok yakındır ama aynı değildir. Esneklik, kaynağın talebe göre uyum sağlayabilme özelliğidir; otomatik ölçeklendirme (auto scaling) ise bu özelliği hayata geçiren araçtır. Kural tanımlayıp kopya sayısını otomatik değiştirirsiniz, sonuçta sisteminiz esnek davranır.

Elasticity maliyeti düşürür mü?

Düşürebilir, ama otomatik değildir. Yük dalgalıysa kullanılmayan kapasiteye ödeme yapmayı bırakırsınız. Ancak kuralları yanlış kurarsanız, sürekli yüksek kapasite tutulur ya da hata nedeniyle kontrolsüz büyüme olur. Maliyeti kazanç hâline getirmek için izleme, üst sınır ve bütçe uyarısı birlikte kullanılmalıdır.

Esneklik yalnızca bulutta mı mümkün?

Bulutun öne çıkan özelliğidir çünkü kaynak havuzu çok büyüktür ve kullanım bazlı faturalama yapılır. Şirket içi sistemlerde de sanallaştırma ve konteyner platformlarıyla belirli düzeyde esneklik sağlanabilir, ancak fiziksel kapasite sınırlıdır ve donanım önceden satın alındığı için maliyet avantajı daha azdır.

Her uygulama esnek olabilir mi?

Hayır. Durumu sunucuda tutan, yavaş açılan ya da tek merkezli bir veritabanına sıkı bağlı uygulamalar esnemekte zorlanır. Esneklik için uygulamanın durumsuz tasarlanması, yapılandırmanın koddan ayrılması ve sağlık kontrolünün tanımlı olması gerekir. Mevcut sistemler genellikle bu yönde dönüştürülür.

Bulut Esnekliği (Elasticity) Nedir? Nasıl Çalışır?