Multi-Tenant Mimari Nedir?
3 Şubat 2026 · Atakan Güloğlu

Multi-tenant mimari, tek bir uygulamanın birden fazla şirket veya organizasyon tarafından ortak kullanılması prensibine dayanır. ABP Framework, bu yapıyı mimarinin merkezine alarak tenant bazlı veri ayrımı, yetkilendirme ve uygulama akışlarını otomatik şekilde yönetir. Bu yaklaşım; modüler yapı, sürdürülebilir kod organizasyonu ve kurumsal ölçekte ölçeklenebilir uygulamalar geliştirilmesini kolaylaştırır.
ABP Framework Üzerinden Pratik Bir Bakış
Kurumsal yazılımlarda tek bir uygulamanın birden fazla şirket, organizasyon veya müşteri tarafından kullanılması sık karşılaşılan bir ihtiyaçtır. Bu ihtiyaca verilen en yaygın cevaplardan biri multi-tenant (çok kiracılı) mimaridir. Bu yazıda, multi-tenant kavramını temel hatlarıyla ele alıp, ABP Framework’ün bu konudaki yaklaşımını pratik örnekler üzerinden açıklıyorum.
Multi-Tenant Mimari Ne Sağlar?
Multi-tenant mimaride:
-
Tek bir kod tabanı bulunur
-
Birden fazla tenant (şirket / organizasyon) aynı uygulamayı kullanır
-
Veriler tenant bazında ayrıştırılır
-
Yetkilendirme ve erişim tenant sınırları içinde çalışır
Bu yapı; bakım maliyetini düşürür, ölçeklenebilirliği artırır ve SaaS tabanlı ürünlerin temelini oluşturur.
ABP Framework’te Multi-Tenant Yaklaşımı
ABP Framework, multi-tenant yapıyı çekirdek mimarinin bir parçası olarak ele alır. Tenant kavramı; veri erişimi, yetkilendirme ve uygulama servisleri boyunca otomatik olarak taşınır.
Öne çıkan noktalar:
-
Tenant çözümleme (header, subdomain, token vb.)
-
Repository ve DbContext seviyesinde tenant filtreleme
-
Yetki ve rol yapılarının tenant bazlı çalışması
-
Tenant bağımsız (host) ve tenant bağlı işlemlerin ayrımı
Bu sayede geliştirici, her sorguda manuel tenant kontrolü yazmak zorunda kalmaz.
Pratik Bir Sorun: Organizasyon Yapıları ve Tenant Ayrımı
Gerçek projelerde karşılaşılan yaygın problemlerden biri; organizasyon hiyerarşilerinin tenant ayrımı sonrası kopmasıdır.
Örneğin:
-
Bir çalışanın yöneticisi farklı bir tenant altında kalmış olabilir
-
Departman–pozisyon ilişkileri tenant filtreleri sebebiyle eksik dönebilir
Bu noktada çözüm, sadece veriyi getirmek değil; sistemi bozmadan tutarlılığı korumaktır. ABP tarafında bu tür durumlar genellikle:
-
İlişki analizleri
-
Tenant bazlı veri doğrulama
-
Ara bağlantıların yeniden kurgulanması
gibi adımlarla ele alınır.
Yetkilendirme ve Rol Yönetimi
ABP’nin permission tabanlı yetkilendirme modeli, multi-tenant sistemlerde ciddi avantaj sağlar. Roller tenant bazında tanımlanabilir ve her tenant kendi yetki setine sahip olabilir.
Bu yapı sayesinde:
-
Aynı rol adı farklı tenantlarda farklı yetkilere sahip olabilir
-
Merkezi bir permission yönetimi sağlanır
-
UI ve backend aynı yetki modeliyle çalışır
Veri Katmanı ve EF Core
ABP, EF Core ile birlikte çalışırken tenant filtrelerini otomatik olarak uygular. Bu durum:
-
Migration yönetimini
-
Performans optimizasyonlarını
-
Veri tutarlılığını
daha kontrollü hale getirir. Ancak karmaşık sorgularda tenant filtrelerinin etkisi mutlaka göz önünde bulundurulmalıdır.
Ön Yüz Tarafı: Multi-Tenant UI Gerçekleri
Multi-tenant mimari yalnızca backend konusu değildir. Ön yüzde:
-
Grid filtreleri
-
State storing
-
Dinamik formlar
-
Yetkiye göre UI davranışları
tenant farkındalığı ile ele alınmalıdır. Aksi halde kullanıcı doğru yetkiye sahip olsa bile eksik veya hatalı veriyle karşılaşabilir.
Sonuç
ABP Framework, multi-tenant uygulamalar geliştirmek için güçlü bir altyapı sunar. Ancak gerçek hayatta karşılaşılan problemler, çoğu zaman teorik mimarinin ötesindedir. Organizasyon yapıları, yetkilendirme senaryoları ve veri ilişkileri; dikkatli analiz edilmediğinde sistem bütünlüğünü zorlayabilir.
Bu nedenle multi-tenant projelerde:
-
Mimari kararlar erken alınmalı
-
Tenant ayrımları gerçek senaryolarla test edilmeli
-
Hem backend hem frontend tenant farkındalığıyla geliştirilmelidir
