Çok Kiracılı Bir Uygulama İçin Kiralama Modelleri
"Çok kiracılılık" kavramına daha derinlemesine bakarak, bu konuda nasıl bir algıya sahip olduğumuzu paylaşıyoruz.
"Çok kiracılılık" kavramına daha derinlemesine bakarak, bu konuda nasıl bir algıya sahip olduğumuzu paylaşıyoruz.
Özellikle bir Hizmet Olarak Yazılım (SaaS) uygulaması geliştirirken, çok kiracılı uygulama yaratmanın öneminden sıkça bahsediyoruz.
"Çok kiracılı uygulama" kavramı ve bir tane geliştirmek için kullanılan çeşitli modeller hakkında biraz kafa karışıklığı var. Bu makalede, bu terimlere daha pratik bir şekilde yakından baktık.
Tek kiracılı mimari, her müşteri veya kiracının bir uygulama veya hizmetin kendilerine ait bir örneğine sahip olduğu bir yazılım veya bulut bilişim modelidir. B2B iş modelinin kökenine baktığımızda, yazılımın her örneğinin yalnızca bir müşteri veya kuruma hizmet etmesiyle başladığını görüyoruz.

Tek kiracılı mimari, uyumluluğun önem arz ettiği veya özelleştirilmiş güvenlik gereksinimleri olan durumlarda yaygın olarak kullanılır. Örneğin, finans, sağlık ve hükümet gibi sıkı düzenleyici gereksinimlere sahip endüstriler, uyumluluğu sağlamak için genellikle tek kiracılı çözümleri tercih eder.
Ancak, tek kiracılı mimarilerin, çok kiracılı mimarilere kıyasla daha fazla kaynak gerektirdiğini ve yönetiminin daha karmaşık olabileceğini belirtmek önemlidir, çünkü her müşterinin örneği kendi altyapısı ve bakımı gerektirir. Sonuç olarak, özelleştirme ve izolasyonun kritik olduğu veya daha az ama daha büyük müşterilere sahip uygulamalar için daha uygun olabilirler.
Yazılım çok kiracılığı, bir yazılımın örneğinin bir sunucuda çalıştığı ve birden fazla kiracıya hizmet verdiği bir yazılım mimarisi türüdür. Bu şekilde tasarlanmış sistemler "paylaşımlı" ("özel" veya "izole" yerine) olarak adlandırılır. Kiracı, belirli açılımlarla yazılım örneğine ortak erişim sağlayan bir kullanıcı grubudur. Çok kiracılı bir mimari ile bir yazılım uygulaması, kiracıya özel veri, yapılandırma, kullanıcı yönetimi, kiracıya özel işlevsellik ve işlevsel olmayan özellikler dahil olmak üzere her kiracıya özel bir pay sağlamayı amaçlar. -- Vikipedi

Mimari bir perspektiften tanımlar verdik, bu da çok kiracılı ve tek kiracılı tasarımları ayırt etmeyi kolaylaştırır. Ancak, bu daha çok teknik tanıma yönelir. Kiralama modellerini tasarlarken bu tanımları gerçek dünya geliştirme ortamımızda kullanırsak, bu düşünce şekli, çok kiracılı bir uygulamanın tamamen paylaşımlı, çok kiracılı bir altyapıya sahip olması gerektiğini varsayar.
Ancak, iş ve ürün çok çeşitlidir ve durum bazında birçok gereksinime sahiptir, bu yüzden her duruma uyan tek bir çözüm yoktur.
Bir kiracının paylaşımlı bir altyapıdan kaynakları kullandığı ancak belirli iş ihtiyaçları nedeniyle sistemin bir veya iki bölümünün yalnızca onlara özel ayrılması gerektiği bir senaryo düşünün. Bu özel ayrılmış bölümler, veritabanı, örnekler veya diğer bileşenlerin kombinasyonu olabilir ve tüm altyapıyı paylaşırken. Bu, karma kiracılı mimarinin devreye girdiği yerdir.
Pratik SaaS ürün geliştirmesinde, bir ürünün ağırlıklı olarak genel bir çok kiracılı modelle tasarlandığı bir senaryo ile karşılaşmak yaygındır. Ancak, mimarinin veya kaynakların belirli yönleri, "tek kiracılı" bir yaklaşıma yönelebilir.
AWS, bu kavramı iletmek için aşağıdaki durumu örnek olarak kullandı: çok kiracılık geniş bir kavramdır ve paylaşılan kaynaklar ve veri izolasyonunu tanımlamak için doğru stratejiyi birleştirip, seçmek durum bazıdır.
Diğer bir deyişle, bazen insanlar bu modele hala "Çok kiracılılık" derler, bu nedenle çok kiracılılığın daha geniş tanımında, bir çözümdeki her bileşenin paylaşıldığını ima etmez. Daha ziyade, bir çözümün bazı bileşenlerinin birden fazla kiracı arasında yeniden kullanıldığını ima eder.
Bu terimi geniş bir şekilde anlamak, müşterinizin ihtiyaçlarını ve nereden geldiklerini daha iyi anlamanıza yardımcı olabilir.
Tek bir mimari modelde ısrar etmek yerine, çok kiracılık, bir SaaS ürününün gerçek dünya mimarisinin pratikliğini yansıtır. Çok kiracılı bir uygulamadan bahsettiğimizde, uygulamanın tek bir mimari modele bağlı olması gerekmez; çeşitli kiralama stratejileri kullanabilir ve en azından bazı bileşenlerinin paylaşıldığını gösterebilir.
Burada soru geliyor, ürünüm için kiralama stratejisini nasıl öneririm? İşte düşünmeniz gereken bazı önemli sorular:
Ürününüzde yalnızca tamamen çok kiracılı veya yalnızca tek kiracılı bir model seçmeniz gereken katı bir bölünme olmadığını unutmayın. Kararınız, ürününüzün mimari bileşenlerini nasıl böldüğünüze ve müşterilerinizin veya işinizin ihtiyaç duyduğu belirli izolasyon seviyelerine dayanmalıdır. Daha sonra farklı yaklaşımları buna göre uygulayabilirsiniz.
"Yeni" çok kiracılı uygulama tanımından bahsettik, ancak kiracı izolasyonu, kimlikler ve kimliklerinizin izole edilip edilmemesi gerektiği nasıl belirlenir? "Kimliklerin izole edilmesi" ne anlama gelir?
Gerçek dünya kullanıcısının iki farklı kimliğe sahip olduğu durumlardayken bu karışıklık genellikle ortaya çıkar. Bu durumu - "izole kimlikler" olarak mı nitelendirmek doğrudur?
Bu soruları yaklaşan makale serimizde ele alacağız. Takipte kalın!