Çok kiracılık - Multitenancy
Yazılım çoklu müşteri bir olan yazılım mimarisi tek hangi örneği içinde yazılımın bir sunucu üzerinde çalışır ve çoklu kiracı hizmet vermektedir. Bu şekilde tasarlanan sistemler "paylaşılır" ("özel" veya "yalıtılmış" yerine). Kiracı, yazılım örneğine belirli ayrıcalıklarla ortak bir erişimi paylaşan bir grup kullanıcıdır. Çok kiracılı bir mimariyle, bir yazılım uygulaması , verileri, yapılandırması, kullanıcı yönetimi, kiracı bireysel işlevleri ve işlevsel olmayan özellikleri dahil olmak üzere her kiracıya örneğin tahsis edilmiş bir payını sağlamak üzere tasarlanmıştır . Çoklu kiralama, ayrı yazılım örneklerinin farklı kiracılar adına çalıştığı çoklu örnek mimarileriyle çelişir.
Bazı yorumcular çoklu kiralamayı bulut bilişimin önemli bir özelliği olarak görmektedir .
Benimseme
Çok kiracılı uygulamaların geçmişi
Çok kiracılı uygulamalar, üç tür hizmetten evrimleşmiş ve bazı özelliklerini birleştirmiştir:
- Zaman Paylaşımı : 1960'lardan itibaren şirketler, bilgi işlem masraflarını azaltmak için ana bilgisayar bilgisayarlarında ( zaman paylaşımı ) alan ve işlem gücü kiraladılar . Genellikle, bir müşteri hesabı kimliği belirtmek için oturum açma ekranında ayrı bir giriş alanıyla mevcut uygulamaları da yeniden kullandılar. Bu kimlik temelinde, ana bilgisayarın muhasebecileri, fiili olarak gerçekleşen CPU, bellek ve disk/teyp kullanımı için bireysel müşterilerden ücret alabilir.
- Barındırılan uygulamalar : 1990'lardan itibaren geleneksel uygulama hizmeti sağlayıcıları (ASP'ler) , müşterileri adına uygulamaları (o sırada var olan) barındırıyordu. Temel uygulamanın sınırlamasına bağlı olarak, ASP'ler uygulamaları ayrı makinelerde (uygulamaların birden çok örneği aynı fiziksel makinede yürütülemiyorsa) veya ayrı işlemler olarak barındırmaya zorlandı . Çok kiracılı uygulamalar, daha düşük işletim maliyetiyle benzer bir hizmet sağlayan daha olgun bir mimariyi temsil eder.
- Web uygulamaları : Tüm müşterilere hizmet veren tek bir uygulama örneği ile geliştirilen popüler tüketici odaklı web uygulamaları ( Hotmail gibi ). Çok kiracılı uygulamalar, bu modelden doğal bir evrimi temsil eder ve aynı müşteri organizasyonu içindeki (örneğin) kullanıcı gruplarına ek özelleştirme sunar.
Sanallaştırmadan farklılaşma
Çok kiracılı bir ortamda, birden çok müşteri, aynı işletim sistemi üzerinde, aynı donanım üzerinde, aynı veri depolama mekanizmasıyla çalışan aynı uygulamayı paylaşır. Müşteriler arasındaki ayrım uygulama tasarımı sırasında sağlanır, böylece müşteriler birbirlerinin verilerini paylaşmaz veya görmezler. Bunu, bileşenlerin dönüştürüldüğü ve her müşteri uygulamasının ayrı bir sanal makinede çalışıyormuş gibi görünmesini sağlayan sanallaştırma ile karşılaştırın .
rekabetçi farklılaşma
Bazı şirketler, çok kiracılılık ilkesini aktif olarak desteklemekte ve bunu rekabetçi bir farklılaşma kaynağı olarak kullanmaktadır. Çok kiracılı kullanım her geçen gün artmaktadır.
Çok kiracılılığın ekonomisi
Tasarruf
Çoklu kiralama, BT kaynaklarının tek bir operasyonda birleştirilmesiyle elde edilebilecek temel ölçek ekonomilerinin üzerinde ve üzerinde maliyet tasarrufu sağlar . Bir uygulama örneği, genellikle, özellikle müşteriler küçükse, birçok müşteriyle çarpıldığında önemli olabilecek belirli bir miktarda bellek ve işlem yükü gerektirir. Multitenancy, birçok müşteriye yayarak bu ek yükü azaltır. Altta yatan yazılımın (işletim sistemleri ve veritabanı yönetim sistemleri gibi) lisanslama maliyetlerinden daha fazla maliyet tasarrufu sağlanabilir. Basitçe söylemek gerekirse, her şeyi tek bir yazılım örneğinde çalıştırabiliyorsanız, yalnızca bir yazılım lisansı satın almanız gerekir . Talep arttıkça tek örneği ölçeklendirmenin zorluğu maliyet tasarruflarını gölgede bırakabilir - örneğin tek bir sunucudaki performansını artırmak yalnızca hızlı CPU'lar, daha fazla bellek ve daha hızlı disk sistemleri gibi daha hızlı donanım satın alarak yapılabilir. ve genellikle bu maliyetler, yükün kabaca aynı toplam kapasiteye sahip birden çok sunucu arasında bölünmesi durumundan daha hızlı artar. Ayrıca, çok kiracılı sistemlerin geliştirilmesi daha karmaşıktır ve birden çok müşterinin verilerinin karıştırılması nedeniyle güvenlik testleri daha sıkıdır.
Veri toplama/veri madenciliği
Satıcıların/ ISV'lerin çoklu kiralamayı kullanmalarının en zorlayıcı nedenlerinden biri , doğal veri toplama avantajlarıdır. Potansiyel olarak farklı veritabanı şemalarına sahip birden çok veri kaynağından veri toplamak yerine, tüm müşteriler için tüm veriler tek bir veritabanı şemasında depolanır. Bu nedenle, müşteriler arasında sorgu çalıştırmak, veri madenciliği yapmak ve trendleri aramak çok daha kolaydır. Temel çok kiracılılık gereksinimlerinden biri, Servis Sağlayıcının müşteri (kiracı) bilgilerine erişimini önleme ihtiyacı olduğundan, bu neden muhtemelen gereğinden fazla abartılmıştır. Ayrıca, operasyonel veri tabanını madencilik veri tabanından ayırmak yaygındır (genellikle farklı iş yükü özellikleri nedeniyle), bu nedenle argümanı daha da zayıflatır.
karmaşıklık
Ek özelleştirme karmaşıklığı ve kiracı başına meta verileri koruma ihtiyacı nedeniyle , çok kiracılı uygulamalar daha büyük bir geliştirme çabası gerektirir. Vektör tabanlı veri sıralama, şifrelenebilir algoritma altyapısı ve sanallaştırılmış kontrol arayüzleri gibi hususlar dikkate alınmalıdır.
Sürüm yönetimi
Çoklu kiralama, sürüm yönetimi sürecini basitleştirir. Geleneksel bir sürüm yönetimi sürecinde, kod ve veritabanı değişikliklerini içeren paketler istemci masaüstüne ve/veya sunucu makinelerine dağıtılır; tek örnek durumunda bu, müşteri başına bir sunucu makinesi olacaktır. Bu paketler daha sonra her bir makineye kurulmalıdır. Çok kiracılı modelde paketin genellikle yalnızca tek bir sunucuya yüklenmesi gerekir. Bu, sürüm yönetimi sürecini büyük ölçüde basitleştirir ve ölçek artık müşteri sayısına bağlı değildir.
Aynı zamanda, çok kiracılılık, yeni bir yayın sürümünün uygulanmasının doğasında bulunan riskleri ve etkileri artırır. Birden çok kiracıya hizmet veren tek bir yazılım örneği olduğundan, bu örnekteki bir güncelleme, güncelleme istense ve yalnızca bir kiracı için faydalı olsa bile tüm kiracılar için kapalı kalma süresine neden olabilir. Ayrıca, yeni sürümün uygulanmasından kaynaklanan bazı hatalar ve sorunlar, diğer kiracıların uygulamaya ilişkin kişiselleştirilmiş görünümünde ortaya çıkabilir. Olası kapalı kalma süresi nedeniyle, birden fazla kiracının zaman kullanım planına bağlı olarak sürümün uygulanma anı kısıtlanabilir.
Gereksinimler
özelleştirme
Çok kiracılı uygulamalar, genellikle her bir hedef kuruluşun ihtiyaçlarını desteklemek için yüksek derecede özelleştirme sağlamak için gereklidir. Özelleştirme tipik olarak aşağıdaki hususları içerir:
- Marka: kurumsal adıyla eşleşen uygulama görünüm ve his özelleştirmek için her organizasyonu sağlayan (genellikle ayrı bir "olarak anılacaktır deri ").
- İş akışı : çok çeşitli potansiyel müşteriler tarafından kullanılacak iş akışındaki farklılıkları barındırmak.
- Veri modeline yapılan uzantılar : Müşterilere, uygulama tarafından yönetilen veri öğelerini kendi özel ihtiyaçlarını karşılayacak şekilde özelleştirme yeteneği vermek için genişletilebilir bir veri modelinin desteklenmesi.
- Erişim kontrolü : her bir müşteri kuruluşunun her bir kullanıcı için erişim haklarını ve kısıtlamalarını bağımsız olarak özelleştirmesine izin vermek .
Hizmet kalitesi
Çok kiracılı uygulamaların, çok örnekli uygulamalar durumunda uygulamanın altındaki katmanlar tarafından sağlanan birden çok kiracı arasında yeterli güvenlik , sağlamlık ve performans yalıtımı sağlaması beklenir .
sanallaştırma
Çoklu kiralama için uygulamaları yeniden tasarlamanın maliyetleri, özellikle ürünlerinin şirket içi tek kiracılı sürümünü sunmaya devam eden yazılım satıcıları için önemli olabilir. Sonuçta ortaya çıkan tüm maliyetlerle iki farklı ürünü desteklemek zorunda kalıyorlar.
Önemli mimari değişiklik ihtiyacını ortadan kaldıran çoklu kiracılığa giderek daha uygulanabilir bir alternatif yol, bir uygulamanın birden çok yalıtılmış örneğini bir veya daha fazla sunucuda barındırmak için sanallaştırma teknolojisini kullanmaktır. Aslında, uygulamalar sanal gereçler olarak yeniden paketlendiğinde , aynı gereç görüntüsü ISV'de barındırılan, şirket içinde veya güvenilir üçüncü taraf konumlarında konuşlandırılabilir ve hatta zaman içinde bir dağıtım sitesinden diğerine taşınabilir.