首頁(yè)>>廠商>>CRM軟件廠商>>salesforce

Salesforce多租戶架構(gòu)

2009/04/07

  多租戶架構(gòu)(Multitenancy)已成為軟件行業(yè)的一個(gè)口號(hào)。你只要詢(xún)問(wèn)某家公司它對(duì)這個(gè)主題有什么看法,就能判斷該公司從事什么業(yè)務(wù)。對(duì)于靠該架構(gòu)起家的公司(Salesforce。com和谷歌)而言,多租戶架構(gòu)必不可少。對(duì)于傳統(tǒng)的老牌開(kāi)發(fā)商(微軟、SAP和甲骨文)而言,多租戶架構(gòu)分別被認(rèn)為是一種威脅、無(wú)名小卒或者是一種額外的交付模式。本文詳細(xì)介紹多租戶架構(gòu)以及它在如何改變軟件行業(yè)。

  什么是多租戶架構(gòu)?

  多租戶架構(gòu)的核心思想就是,軟件采用這種方式來(lái)開(kāi)發(fā):應(yīng)用程序的一個(gè)實(shí)例可處理多個(gè)客戶即租戶的要求。以Salesforce的模式為例,每個(gè)客戶開(kāi)始時(shí)都使用應(yīng)用程序的同一版本。數(shù)據(jù)存儲(chǔ)在共享數(shù)據(jù)庫(kù)中,但每個(gè)客戶只可以訪問(wèn)自己的信息。整個(gè)應(yīng)用程序由所謂的元數(shù)據(jù)(Metadata)來(lái)描述;元數(shù)據(jù)就是命令指示,描述了應(yīng)用程序如何運(yùn)行的各個(gè)方面。如果客戶想定制應(yīng)用程序,可以創(chuàng)建及配置新的元數(shù)據(jù),以描述新的屏幕、數(shù)據(jù)庫(kù)字段或所需行為。

  多租戶架構(gòu)之外的選擇是單租戶架構(gòu);在這種模式中,每個(gè)客戶都運(yùn)行自己的軟件實(shí)例,軟件可通過(guò)元數(shù)據(jù)或其他方式來(lái)配置。SAP公司為其Business by Design軟件采用了單租戶模式,該軟件實(shí)施了眾多商業(yè)應(yīng)用程序。

  多租戶模式與單租戶架構(gòu)模式存在大片的潛在灰色區(qū),往往被人們所忽視。單租戶應(yīng)用程序可由云環(huán)境中的虛擬化服務(wù)器或數(shù)據(jù)中心內(nèi)的服務(wù)器來(lái)提供,單租戶應(yīng)用程序的各部分可以共享或不共享。比方說(shuō),應(yīng)用程序采用單租戶模式、而數(shù)據(jù)庫(kù)進(jìn)行共享這種現(xiàn)象并不罕見(jiàn)。

  Salesforce在多租戶架構(gòu)方面表明了這個(gè)看法:它讓軟件開(kāi)發(fā)商只需要為在一個(gè)運(yùn)作環(huán)境下運(yùn)行的軟件的一個(gè)版本而操心。不需要為不同的軟硬件配置支持多個(gè)版本。因?yàn)镾alesforce的所有客戶都運(yùn)行同一軟件的同一版本,他們就能看清楚什么在順暢運(yùn)行、什么需要改進(jìn)。

  一旦Salesforce進(jìn)行了改進(jìn),所有客戶就可以同時(shí)獲得改進(jìn)之處,不過(guò)客戶總是可以選擇啟用新特性,還是任由新特性被禁用。由于加大了關(guān)注度和集中化,創(chuàng)新步伐更快了。合作伙伴在開(kāi)發(fā)兼容產(chǎn)品時(shí),也可以把主要精力放在支持軟件的一個(gè)版本上。

  與單租戶架構(gòu)相比,多租戶架構(gòu)的一個(gè)缺點(diǎn)就是,某一客戶的問(wèn)題會(huì)影響整個(gè)系統(tǒng)。另外,如果集中式運(yùn)作出問(wèn)題,所有客戶都會(huì)受到影響。沒(méi)有哪家軟件即服務(wù)(SaaS)提供商是完美無(wú)缺的。它們都遇到過(guò)嚴(yán)重的服務(wù)停用事件。不過(guò)與大多數(shù)內(nèi)部數(shù)據(jù)中心的糟糕記錄相比,它們的情況似乎都相當(dāng)好。

  Salesforce通過(guò)Force。com平臺(tái)把多租戶架構(gòu)的優(yōu)點(diǎn)擴(kuò)大到了其他軟件開(kāi)發(fā)人員;該平臺(tái)讓第三方公司可以使用其軟件的原始構(gòu)建模塊和高級(jí)應(yīng)用程序組件,開(kāi)發(fā)自己的多租戶應(yīng)用程序。這種模式被稱(chēng)為“平臺(tái)即服務(wù)”(Platform-as-a-Service);谷歌等其他公司也有類(lèi)似服務(wù),支持多租戶應(yīng)用程序的開(kāi)發(fā)。

  隨著支持應(yīng)用程序的構(gòu)建模塊變得更加通用、較少經(jīng)過(guò)改動(dòng)以便開(kāi)發(fā)多租戶應(yīng)用程序,你就會(huì)慢慢進(jìn)入到基礎(chǔ)架構(gòu)即服務(wù)(Infrastructure-as-a-Service)領(lǐng)域,這種服務(wù)提供了原始計(jì)算功能。顯然,弄清楚所有這些層絕非易事。

  多租戶架構(gòu)是SaaS供應(yīng)商取得成功的關(guān)鍵?

  對(duì)用戶和開(kāi)發(fā)人員來(lái)說(shuō),真正的問(wèn)題是,為什么應(yīng)當(dāng)在乎某應(yīng)用程序或某平臺(tái)采用單租戶架構(gòu)還是采用多租戶架構(gòu)?Salesforce的首席執(zhí)行官 Marc Benioff在公開(kāi)演講中堅(jiān)持認(rèn)為,SaaS供應(yīng)商要取得成功,就必須采用多租戶架構(gòu),另一些知名的分析師也這么認(rèn)為。但真是這樣嗎?SaaS模式為客戶減掉了開(kāi)發(fā)及管理基礎(chǔ)架構(gòu)的負(fù)擔(dān)。針對(duì)單租戶架構(gòu),同樣可以做到這一點(diǎn)。

  使用應(yīng)用程序的惟一理由就是它可以完成你想要它完成的功能,而Salesforce已證明成千上萬(wàn)的客戶需要它的軟件。但在其他領(lǐng)域,多租戶架構(gòu)還沒(méi)有證明它就是靈丹妙藥。比方說(shuō),Netsuite提供了采用多租戶架構(gòu)的企業(yè)資源規(guī)劃(ERP)軟件包。SAP有其Business ByDesign產(chǎn)品,這套商業(yè)應(yīng)用程序采用了單租戶架構(gòu)。這兩家公司都還沒(méi)有擁有Salesforce。com那么眾多的客戶。

  可以解釋Salesforce及其多租戶服務(wù)取得成功的另一個(gè)理由與需求的共性有關(guān)。如果你認(rèn)為客戶關(guān)系管理(CRM)是存在需求共性的一個(gè)領(lǐng)域,可以認(rèn)為ERP領(lǐng)域的需求共性更為明顯。

  大多數(shù)客戶需要從CRM獲得所有可能功能中相同的20%。對(duì)ERP而言,可能每個(gè)客戶需要的是不同的20%。按照這條思路來(lái)推理,SaaS公司的成功關(guān)鍵也許在于選擇正確的產(chǎn)品,對(duì)所有客戶來(lái)說(shuō)最常見(jiàn)的一個(gè)產(chǎn)品。Salesforce采用多租戶方案主攻這個(gè)領(lǐng)域,結(jié)果受益良多,但它所做的最明智的舉動(dòng)恐怕就是當(dāng)初先選擇CRM作為主攻市場(chǎng)。

  從開(kāi)發(fā)人員的角度來(lái)看,多租戶架構(gòu)不是最值得注意的。使用一個(gè)平臺(tái)的目的在于,迅速開(kāi)發(fā)出所需的產(chǎn)品。有些公司會(huì)發(fā)現(xiàn),由于Force.com或谷歌應(yīng)用引擎(Google App Engine)目前提供了廣泛的功能范圍(functional footprint),能夠盡快讓自己實(shí)現(xiàn)想要企及的目標(biāo)。其他公司會(huì)因使用Ruby on Rails或Engine Yard用于主機(jī)托管所獲得的極大靈活性而更快地取得成功。

  要是閱讀Salesforce的白皮書(shū),你會(huì)看到一幅圖片,上面介紹了新的元數(shù)據(jù)驅(qū)動(dòng)型編程模式,應(yīng)用程序恰好是用多租戶架構(gòu)來(lái)提供的。與通過(guò)元數(shù)據(jù)大大提高抽象程度(這也許是Salesforce的最大成就)這個(gè)成就相比,多租戶架構(gòu)是次要的。如果一家公司能夠?yàn)榭蛻籼峁┩ㄟ^(guò)元數(shù)據(jù)、輕松獲取及配置應(yīng)用程序的一種方式,它就能成功。但許多軟件公司一直在提供可通過(guò)元數(shù)據(jù)來(lái)配置的軟件。Salesforce有什么質(zhì)的不同嗎?

  Salesforce的成功秘訣在于,該公司選擇了一個(gè)領(lǐng)域即CRM,許多客戶對(duì)此有著共同的需求。然后, Salesforce致力于基于多租戶架構(gòu),創(chuàng)建可以擴(kuò)展的運(yùn)作環(huán)境(SaaS模式)。多租戶架構(gòu)的最大價(jià)值倒并不在于Salesforce指出的種種優(yōu)點(diǎn),而在于這個(gè)事實(shí):該架構(gòu)迫使Salesforce更好地開(kāi)發(fā)元數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序。

  確保軟件取得成功的一個(gè)關(guān)鍵方面在于可配置性。通過(guò)基于元數(shù)據(jù)的配置來(lái)滿足客戶要求越是容易,應(yīng)用程序越有希望成功,不管采用的是單租戶架構(gòu)還是多租戶架構(gòu)。但我們回答不了的一個(gè)問(wèn)題是,基于元數(shù)據(jù)的可配置性方面是不是存在極限。換句話說(shuō),簡(jiǎn)化像適用于世界上每個(gè)國(guó)家的會(huì)計(jì)科目表這樣的復(fù)雜對(duì)象到底有沒(méi)有可能?是不是有些問(wèn)題復(fù)雜到總是很難處理、因而無(wú)法配置的地步?

  對(duì)我們來(lái)說(shuō),多租戶架構(gòu)的未來(lái)方面值得關(guān)注的問(wèn)題在于,Salesforce取得的成就是否就是操作系統(tǒng)、應(yīng)用服務(wù)器層和編程語(yǔ)言向虛擬化環(huán)境擴(kuò)展的先兆?Salesforce是從應(yīng)用程序起家的。

  其他廠商不會(huì)對(duì)迅猛發(fā)展的Force.com坐視不管;他們正開(kāi)始從其他方向來(lái)解決這個(gè)問(wèn)題。SAP、微軟、甲骨文、IBM、惠普和谷歌都在積極開(kāi)發(fā)自己的產(chǎn)品。

saasChN.com


相關(guān)鏈接:
云計(jì)算先驅(qū)Salesforce.com創(chuàng)立十周年 2009-03-25
Salesforce.com整合Twitter服務(wù) 搜集用戶信息 2009-03-24
Salesforce云服務(wù)將整合Twitter 今夏免費(fèi)推出 2009-03-23
Salesforce展示大中華區(qū)云計(jì)算領(lǐng)導(dǎo)地位 2009-03-18
Salesforce成首家年入十億美元云計(jì)算方案公司 2009-03-03