MsSql

Azure SQL Database Serverless: Gerçekten Ekonomik mi?

· 8 dakika okuma · 0
Azure SQL Database Serverless: Gerçekten Ekonomik mi?

Merhaba,

Azure SQL Database'in Serverless katmanı uzun süredir gündemimde. Bu modelin gerçekten ekonomik olup olmadığını merak eden arkadaşlar için bu yazımda elimden geldiğince nesnel bir değerlendirme yapmaya çalışacağım.

Azure SQL Serverless Nedir ?

Azure SQL Database Serverless, işlem kapasitesini (vCore) otomatik olarak ölçeklendiren ve veritabanı kullanılmadığında otomatik olarak durduran bir satın alma modeli. İki temel özelliği var:

  • Auto-scaling: Min/max vCore aralığında tanımladığınız sınırlar içinde yük arttıkça compute otomatik büyüyor, azaldıkça küçülüyor.
  • Auto-pause: Tanımlı bir süre (minimum 1 saat) boyunca bağlantı yoksa veritabanı duraklatılıyor. Durduğu süre boyunca yalnızca depolama ücreti ödüyorsunuz.

Ne Zaman Mantıklı ?

Serverless'ın gerçekten avantajlı olduğu senaryolar şunlar:

  • Geliştirme ve test ortamları: Mesai saatleri dışında kullanılmayan ortamlar. Akşam 18'den sabah 9'a kadar duraklatılan bir dev DB'de aylık tasarruf ciddi rakamlara ulaşabiliyor.
  • Aralıklı kullanımlı uygulamalar: Yalnızca belirli saatlerde veya haftanın belirli günlerinde aktif olan sistemler.
  • Tahmin edilemeyen yük profili: Bazen çok düşük, bazen çok yüksek trafik — sabit kapasite hem israf hem yetersiz olur.

Ne Zaman Mantıklı Değil ?

Burada dürüst olmak lazım. Serverless her durumda ekonomik değil:

  • 7/24 aktif production sistemleri: Sürekli kullanımda Serverless, sabit kapasiteli General Purpose tier'dan daha pahalıya gelebiliyor. Auto-pause hiç devreye girmiyorsa avantajı yok.
  • Cold start gecikmesi toleransı olmayan uygulamalar: Duraklatılmış veritabanı ilk bağlantıda uyanmak için birkaç saniye harcıyor. Eğer uygulamanız bu gecikmeye toleranssızsa sorun yaratır.
  • Yüksek ve sabit IOPS ihtiyacı: Depolama performansı Serverless'ta compute tier'dan bağımsız, bu genellikle yeterli ama bazı yoğun I/O senaryolarında kısıt olabilir.

Maliyet Hesabı Nasıl Yapılır ?

Serverless maliyeti şu bileşenlerden oluşuyor:

  • Kullanılan vCore-saat (min vCore en az 0.5 olabiliyor)
  • Depolama (GB/ay)
  • Duraklatılmış sürede yalnızca depolama ücreti

Azure Pricing Calculator'a gidip kendi kullanım profilinizi girin. Özellikle kaç saat aktif, kaç saat pasif olacağını gerçekçi tahmin etmeye çalışın. Benim gözlemlerim şu yönde: Dev ortamları için %40-60 tasarruf gerçekleştirilebilir. Production'da tasarruf çok daha az veya hiç yok.

Alternatif: Elastic Pools

Birden fazla veritabanı yönetiyorsanız Serverless yerine Elastic Pool'ları değerlendirin. Birden çok DB'nin compute kaynaklarını paylaşması çoğu senaryoda çok daha ekonomik oluyor. Özellikle SaaS uygulamalarında her müşteri için ayrı DB ama paylaşımlı pool modeli maliyet optimizasyonunun altın standardı.

İyi Günler Dilerim,

Bu yazıyı paylaş: