PostgreSQL ile Çok Kiracılı Uygulama: Basit Bir Gerçek Dünya Örneği Üzerinden Öğrenin
PostgreSQL Satır Düzeyinde Güvenlik (RLS) ve veritabanı rolleri ile çok kiracılı mimari nasıl uygulanır öğrenin. Kiracılar arasında güvenli veri izolasyonu sağlamak için gerçek dünya örneği.
Önceki makalelerimizin bazılarında, çok kiracılı kavramını ve ürünler ile gerçek dünya iş senaryolarındaki uygulamalarını derinlemesine inceledik.
Bu makalede, uygulamanız için çok kiracılı bir mimariyi PostgreSQL kullanarak teknik açıdan nasıl uygulayabileceğimizi keşfedeceğiz.
Tek kiracılı mimari nedir?
Tek kiracılı mimari, her müşterinin uygulamanın ve veritabanının kendi özel örneğine sahip olduğu bir yazılım mimarisi türüdür.
Bu mimaride, her kiracının verileri ve kaynakları diğer kiracılardan tamamen izole edilmiştir.
Çok kiracılı mimari nedir?
Çok kiracılı mimari, birden fazla müşterinin (kiracının) aynı uygulama örneğini ve altyapıyı paylaşırken veri izolasyonu sağladığı bir yazılım mimarisi türüdür. Bu mimaride, yazılımın tek bir örneği birden fazla kiracıya hizmet eder ve her kiracının verileri çeşitli izolasyon mekanizmalarıyla başkalarından ayrı tutulur.
Tek kiracılı mimari vs çok kiracılı mimari
Tek kiracılı mimari ve çok kiracılı mimari, veri izolasyonu, kaynak kullanımı, ölçeklenebilirlik, yönetim ve bakım ile güvenlik gibi yönlerden farklılık gösterir.
Tek kiracılı mimaride, her müşteri bağımsız bir veri alanına sahiptir ve bu da kaynak kullanımını düşürürken özelleştirmeyi nispeten daha basit hale getirir. Genellikle, tek kiracılı yazılımlar, belirli müşteri ihtiyaçlarına göre özelleştirilir; örneğin, belirli bir kumaş tedarikçisi için envanter sistemleri veya kişisel bir blog web uygulaması gibi. Bu yazılımlar arasında ortak olan şey, her müşterinin uygulama hizmetinin ayrı bir örneğini kullanmasıdır ve bu da özelleştirmenin belirli gereksinimleri karşılamasını kolaylaştırır.
Çok kiracılı bir mimaride, birden fazla kiracı aynı temel kaynakları paylaşır ve bu da daha yüksek kaynak kullanımına yol açar. Ancak, veri izolasyonu ve güvenliğinin sağlanması kritik önem taşır.
Hizmet sağlayıcıların farklı müşterilere standart hizmetler sunduğu zamanlarda çok kiracılı mimari genellikle tercih edilen yazılım mimarisidir. Bu hizmetlerde özelleştirme seviyesi düşük olur ve tüm müşteriler aynı uygulama örneğini paylaşır. Uygulama güncelleme gerektirdiğinde, tek bir uygulama örneğinin güncellenmesi, tüm müşteriler için uygulamanın güncellenmesi anlamına gelir. Örneğin, CRM (Müşteri İlişkileri Yönetimi) standart bir gereksinimdir. Bu sistemler genellikle aynı hizmeti tüm kiracılara sağlamak için çok kiracılı bir mimari kullanır.
Çok kiracılı mimaride kiracı veri izolasyonu stratejileri
Çok kiracılı bir mimaride, tüm kiracılar aynı temel kaynakları paylaşır ve bu da kiracılar arasındaki kaynakların izolasyonunu önemli hale getirir. Bu izolasyon fiziksel olmak zorunda değildir; sadece kiracılar arasındaki kaynakların birbirine görünmez olmasını sağlamayı gerektirir.
Mimarinin tasarımında, kiracılar arasında çeşitli derecelerde kaynak izolasyonu elde edilebilir:
Genel olarak, kiracılar arasında paylaşılan kaynak ne kadar fazla olursa, sistem yineleme ve bakım maliyeti o kadar düşer. Tam tersi durumda, paylaşılan kaynak ne kadar az olursa, maliyet o kadar yüksek olur.