Multi-Tenancy Nedir?
İngilizce: Multi-Tenancy
Multi-tenancy, tek uygulama altyapısında birden çok müşteriyi tenant sınırlarıyla ayırarak SaaS ölçeği ve yönetilebilirliği sağlar.
Multi-Tenancy Nedir?
Multi-tenancy, aynı uygulama kodunun ve çoğu zaman aynı altyapının birden fazla müşteriye hizmet vermesidir. Her müşteri bir “tenant” olarak düşünülür; kullanıcılar, ayarlar, veriler, paket limitleri ve faturalama kuralları tenant sınırı içinde kalır.
Bu yaklaşım SaaS ürünlerinde yaygındır çünkü her müşteri için ayrı kurulum yapmak yerine tek ürün hattı yönetilir. Ancak ortak altyapı kullanıldığı için veri izolasyonu, yetkilendirme ve performans sınırları tasarımın merkezindedir.
Mimari Yaklaşımlar
- Paylaşımlı veritabanı, tenant kolonu: En ekonomik modeldir; her kayıtta tenant kimliği tutulur. Erişim kontrolleri çok dikkatli yazılmalıdır.
- Ayrı şema: Aynı veritabanı sunucusunda her tenant için ayrı şema kullanılır. İzolasyon artar, operasyon karmaşıklığı da yükselir.
- Ayrı veritabanı: Büyük veya regülasyon hassasiyeti olan müşteriler için tercih edilebilir. Maliyet ve bakım yükü daha fazladır.
Uygulama seviyesinde tenant seçimi genellikle alan adı, oturum, JWT claim’i veya hesap bağlamı üzerinden yapılır. Her sorgu, dosya erişimi ve arka plan işi bu bağlamı taşımalıdır.
İş Dünyasında Kullanımı
Multi-tenancy, abonelik paketleri, müşteri bazlı özellik açma, kullanım limiti ve merkezi güncelleme gibi SaaS ihtiyaçlarını kolaylaştırır. Yeni sürüm tek kez dağıtılır; tüm müşteriler aynı kod tabanından yararlanır.
En büyük risk tenant verisinin karışmasıdır. Bu yüzden testlerde tenant izolasyonu senaryoları, yönetici panellerinde yetki sınırları, raporlarda filtre güvenliği ve yoğun kullanan müşterilerin diğerlerini yavaşlatmaması için kota veya kuyruk tasarımı gerekir.