當用戶選擇一個SaaS技術路線的時候,會面臨“多租戶SaaS”和“單租戶SaaS”兩個選擇。盡管大部分的ISV提供的是多租戶的SaaS,但開發(fā)者同樣需要知道這兩種架構的區(qū)別,以保證選擇了正確的路線。當前和未來的功能需求,行業(yè)的細分,安全的考慮,這些都是選擇需要考慮的要素。
下面是一些關于“多租戶SaaS”和“單租戶SaaS”架構對比的匯總。
什么是多租戶SaaS架構?
在一個多租戶的環(huán)境中,應用都是運行在同樣的一個或者一組服務器上,被稱為“單實例”架構(Single Instance)。多個租戶的數據是保存在相同的位置,并且通常是依靠分區(qū)來確保租戶之間的數據隔離。正因為所有的應用都運行在相同的服務器(組)上,就必須有一個標準的SaaS架構,包含了對硬件、網絡以及操作系統(tǒng)的相同配置能力。
鑒于多個用戶在運行相同的應用實例,并且所有的數據都保存在一個多租戶隔離的數據庫中,單一用戶僅僅有有限的能力,或者壓根沒有能力,去做一些在基礎功能集上的定制化。這個不僅指的是功能本身會受到限制,更說明在這種架構下很難實現定制化。因此,多租戶比較適合通用類需求的客戶,即不需要對主線功能進行調整或者重新配置的客戶。
這種標準化對于一些希望使用開箱即用的軟件的客戶是一個福音。大部分知名的SaaS提供商,都非常擅長分析和預測他們客戶的需求,并且以標準化的版本提供最相關的功能。很多時候一個“多租戶SaaS”會選擇一部分特定群體的客戶作為他們預售版本的體驗者,來快速驗證和測試他們的產品。
關于多租戶特性是否是SaaS軟件的必要特征,業(yè)界一直有著爭議。而且,這種特性還被一些SaaS提供商認為是“真SaaS”的標識特性。但是,我們可以從下面看到,單租戶SaaS同樣有著他們與眾不同的優(yōu)勢。
什么是單租戶SaaS架構?
單租戶SaaS架構,有時也被稱作多實例架構(Multiple Instance),指的是為每個客戶單獨創(chuàng)建各自的軟件應用和支撐環(huán)境。單租戶SaaS被廣泛引用在客戶需要支持定制化的應用場合,而這種定制或者是因為地域,抑或是他們需要更高的安全控制。通過單租戶的模式,每個客戶都有一份分別放在獨立的服務器上的數據庫和操作系統(tǒng),或者使用強的安全措施進行隔離的虛擬網絡環(huán)境中。
在一個單租戶SaaS的環(huán)境中,每個租戶購買特定的軟件實例,并通過客制化滿足他們的特定需求。雖然這些云服務提供商提供了基礎的功能,用戶能夠得到很多的可配置能力:比如,用戶可以調整不同的配置需求,向內部數據庫或者外部合作伙伴的數據庫添加不同的模塊。
究竟哪個更合適?
雖然多租戶環(huán)境很安全,并且足以滿足很多公司的需求,但單租戶SaaS可以提供更高的安全管控,畢竟公司之間的數據泄漏的可能在技術上就被禁止了。出于這個原因,單租戶的架構有時候適合某些需要安全管控、甚至必須有法律合規(guī)性要求的行業(yè)。同時,定制化需求大于通用化需求的軟件,同樣不適合采用多租戶的架構。
不能單純脫離應用場景來評價“多租戶SaaS”和“單租戶SaaS”誰更好,每個都有自己獨特的差異化優(yōu)勢。如何使用,取決于你的運行位置、行業(yè)、安全規(guī)定、IT能力,以及相關的其他因素。