SaaS kurarken çok kiracılık (multi-tenancy) mimarisi
Bir SaaS ürününde birçok müşteriyi tek sistemde, birbirinden izole şekilde çalıştırmak: çok kiracılık mimarisinin temellerini anlattık.
SaaS ürünlerinin kalbinde çok kiracılık (multi-tenancy) yatar: tek bir uygulama ve altyapı, birçok müşteriye (kiracıya) hizmet verir. Doğru kurulduğunda hem işletme maliyetini düşürür hem de yeni müşteri eklemeyi kolaylaştırır.
Kiracı verisini nasıl ayırırsınız?
Üç yaygın yaklaşım vardır: her kiracıya ayrı veritabanı, ortak veritabanında ayrı şema, ya da ortak veritabanında satır bazlı ayrım (tenant_id). Satır bazlı yaklaşım en ekonomik ve ölçeklenebilir olandır; ancak her sorgunun doğru kiracıyla izole edilmesi kritik önemdedir.
İzolasyon her katmanda olmalı
- Veri: her kayıt bir kiracıya aittir ve sorgular otomatik izole edilir.
- Kimlik: bir kiracının oturumu başka kiracıda geçerli olmamalı.
- Konfigürasyon: her kiracının kendi ayarları, teması, özellikleri veriden gelir.
- Ölçek: yoğun bir kiracı diğerlerini yavaşlatmamalı.
İyi bir çok kiracılık mimarisinde yeni bir müşteri eklemek, kod değiştirmek değil; sadece yeni bir kayıt açmaktır.
Kod değişmeden uyarlanabilirlik
Güçlü bir SaaS'ta kategoriler, alanlar ve markalama koda gömülü değil, veriyle tanımlıdır. Böylece yeni bir müşteri ya da yeni bir dikey; yeniden yazma, yeniden test ve yeniden yayın gerektirmeden ayağa kalkar. Kerte olarak SaaS ürünlerini tam da bu esneklikle, ölçeklenebilir ve güvenli bir temel üzerine kuruyoruz.