Çoklu Kiracı Mimarisi: Nasıl Ölçeklendiriyoruz
SaaS mimarimize ve her müşteri için veri izolasyonunu nasıl sağladığımıza derinlemesine bir bakış.
Birden fazla işletmeye hizmet veren bir SaaS platformu oluşturmak dikkatli mimari kararlar gerektirir. Luniops olarak, Firebase üzerine kurulu ve operasyonel maliyetleri yönetilebilir tutarken tam veri izolasyonu sağlayan çoklu kiracı bir yaklaşım tercih ettik.
Her kiracı (şirket) Firestore içinde kendi izole veri alanına sahip olur. Güvenlik kuralları, kullanıcıların yalnızca kendi kiracılarına ait verilere erişebilmesini sağlar. Bu, A Şirketi'nden bir kullanıcının geçerli bir kimlik doğrulama jetonu edinse bile B Şirketi'nin verilerini asla görememesi veya değiştirememesi anlamına gelir.
Rol tabanlı erişim kontrol sistemimiz hem kiracı hem de modül düzeyinde çalışır. Her kiracı ayrıntılı izinlerle özel roller tanımlayabilir — örneğin bir depo yöneticisi envantere tam erişime sahipken siparişlere salt okunur erişime sahip olabilir.
Ölçeklenebilirlik için Firebase'in otomatik ölçekleme özelliklerinden yararlanıyoruz. Bir kiracı ayda 10 siparişten 10.000 siparişe büyüdüğünde altyapı otomatik olarak ölçeklenir. Manuel müdahale gerekmez ve veri hacminden bağımsız olarak performans tutarlı kalır.
Veri yedekleme ve kurtarma kiracı düzeyinde gerçekleştirilir. Her kiracının verileri diğer kiracıları etkilemeden bağımsız olarak dışa aktarılabilir, yedeklenebilir veya taşınabilir. Bu aynı zamanda düzenleyici uyumu kolaylaştırır, çünkü veri yerleşim gereksinimlerini kiracı bazında yönetebiliriz.