久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

使用 IBM 中間件實現(xiàn) SaaS 解決方案,,第 2 部分: 啟用多租戶的方法

 figol 2009-08-17

簡介

在為現(xiàn)有或新的多租戶服務(wù)設(shè)計 web 交付時,,服務(wù)供應(yīng)商常常面對許多設(shè)計選擇。圖 1 顯示了五種主要方法,。方法 1 是所有租戶共享單一應(yīng)用程序?qū)嵗?,也就是相同的服?wù)器、中間件和應(yīng)用程序,。方法 5 是租戶在單獨的服務(wù)器上運行自己的應(yīng)用程序?qū)嵗ó斍霸S多 Application Service Provider [ASP] 采用這種方法),。在這兩種方法之間,還有至少三種主要方法,,它們具有不同的資源共享程度和開發(fā)復雜性,。每種方法提供不同的收益(在可伸縮性和運營效率方面),需要不同的成本(在開發(fā)復雜性和投入市場的時間方面),。


圖 1. 啟用多租戶的五種主要方法
啟用多租戶的五種主要方法

在本文中,我們將使用多種角色描述啟用多租戶的不同方法:

  1. 服務(wù)供應(yīng)商:負責以 web 交付模型提供服務(wù)/解決方案
  2. 服務(wù)開發(fā)人員:服務(wù)/解決方案的開發(fā)人員
  3. 租戶:服務(wù)供應(yīng)商的客戶
  4. 最終用戶:租戶可能有一個或多個服務(wù)/解決方案用戶

服務(wù)供應(yīng)商可以使用以下五種主要方法:

  1. 包含單一應(yīng)用程序?qū)嵗墓蚕碇虚g件
  2. 包含多個應(yīng)用程序?qū)嵗凸蚕淼刂房臻g的共享中間件
  3. 包含多個應(yīng)用程序?qū)嵗蛦为毜刂房臻g的共享中間件
  4. 用與租戶相關(guān)的虛擬映像實現(xiàn)虛擬化
    a). 用中介層實現(xiàn)虛擬化
  5. 在單獨的服務(wù)器上運行多個實例的 ASP 模型

下面幾節(jié)詳細描述這五種方法。在決定采用哪種方法時,,了解每種方法的成本和收益會有幫助。我們在后面的一節(jié)中提供成本/收益分析,。





共享中間件方法

方法 1、2 和 3 都在多個租戶之間共享中間件和應(yīng)用程序組件,,只是程度不同。下面看看每種方法的示例,。

方法 1:包含單一應(yīng)用程序?qū)嵗墓蚕碇虚g件

所有租戶共享操作系統(tǒng)、服務(wù)器以及中間件和應(yīng)用程序的單一實例,。實現(xiàn)的方法是用租戶標識參數(shù)對應(yīng)用程序的單一實例進行參數(shù)化,。例如,如果應(yīng)用程序有 web 服務(wù)接口和實現(xiàn),,那么在接口中的操作和數(shù)據(jù)對象中添加租戶 ID 參數(shù),。如果應(yīng)用程序使用數(shù)據(jù)庫表,那么在每個數(shù)據(jù)庫表中添加一個表示租戶 ID 的新列,。在這個模型中,有一些配置元素對于每個租戶是獨特的,。例如,,虛擬門戶為每個租戶提供不同的外觀和感覺以及獨特的數(shù)據(jù)庫模式元素。


圖 2. 方法 1 的拓撲示例(在多個租戶之間共享應(yīng)用程序和中間件的單一實例)
方法 1 的拓撲示例(在多個租戶之間共享應(yīng)用程序和中間件的單一實例)

圖 2 中顯示一個使用這種方法的拓撲示例,。這里有三個租戶:A,、B 和 C,他們共享 Application 1 的相同代碼,。Application 1 使用在 Blade 服務(wù)器上的 Windows 上運行的 Tomcat 和 DB2,以及在另一臺物理服務(wù)器上的 Linux 上運行的 Apache HTTP 服務(wù)器,。所有租戶共享中間件,、操作系統(tǒng)和服務(wù)器??梢詮?“Building Web delivered SaaS applications on open source and entry level IBM middleware” 下載一個使用這種方法的多租戶示例應(yīng)用程序,。當一個租戶出現(xiàn)時,為他創(chuàng)建相關(guān)的配置(例如 CSS 文件),,但是只有一個應(yīng)用程序?qū)嵗?,由所有租戶共享。在使用這種方法時,應(yīng)用程序必須能夠把每個租戶的數(shù)據(jù)和配置隔離開,。本系列的第 3 部分和第 4 部分討論在使用這種方法啟用多租戶時重要的體系結(jié)構(gòu)考慮因素(使用 IBM WebSphere Application Server),。

方法 2:包含共享地址空間中的多個應(yīng)用程序?qū)嵗墓蚕碇虚g件

租戶使用應(yīng)用程序的不同實例,這些實例部署在中間件的單一實例中,,共享單一操作系統(tǒng)進程(地址空間),。租戶共享操作系統(tǒng)和服務(wù)器。在圖 3 中,,租戶 A,、B 和 C 使用這種方法共享一個示例應(yīng)用程序。


圖 3. 方法 2 的拓撲示例(對于不同的租戶,,在中間件的單一實例中運行應(yīng)用程序的不同實例)
方法 2 的拓撲示例(對于不同的租戶,,在中間件的單一實例中運行應(yīng)用程序的不同實例)

當新的租戶出現(xiàn)時,創(chuàng)建一個單獨的應(yīng)用程序拷貝,,指定一個包含租戶標識符的名稱,,把它部署到應(yīng)用服務(wù)器的共享實例中。例如,,復制 Application App 的 ear 文件 (App.ear) 并分別命名為 App1.ear 和 App2.ear,。同樣,在數(shù)據(jù)庫層,,對于租戶 A 和 B,,把應(yīng)用程序表 App_table 分別復制為 App1_table 和 App2_table。與租戶相關(guān)的定制(例如 CSS 文件和表模式)添加到與租戶相關(guān)的應(yīng)用程序和表拷貝中,。這個模型要求在中間件層維持租戶隔離,。

方法 3:包含單獨地址空間中的多個應(yīng)用程序?qū)嵗墓蚕碇虚g件

租戶使用應(yīng)用程序的不同實例,這些實例部署在中間件的不同實例中,。租戶共享操作系統(tǒng)和服務(wù)器,。因為中間件實例是不同的,所以每個租戶有自己的操作系統(tǒng)進程(地址空間),。因此,,這個模型要求在操作系統(tǒng)層維持租戶隔離。這種方法在相同的物理服務(wù)器上支持的租戶數(shù)量比方法 1 和 2 少,。在三種共享中間件方法中,,這種方法提供最強的租戶隔離。但是,,在操作系統(tǒng)和服務(wù)器層仍然有隔離問題,,例如一個租戶的用戶有可能占用物理服務(wù)器中的所有 CPU 和內(nèi)存。


圖 4. 方法 3 的拓撲示例(對于不同的租戶,,在中間件的不同實例中運行應(yīng)用程序的不同實例)
方法 3 的拓撲示例(對于不同的租戶,,在中間件的不同實例中運行應(yīng)用程序的不同實例)

在圖 4 中的示例中,每個租戶(A、B 和 C)運行自己的應(yīng)用程序物理拷貝(分別為 App1,、App2 和 App3),,這些拷貝部署在自己的中間件物理拷貝中(分別為 M1、M2 和 M3),。租戶 A 和 B 在 Windows 上運行應(yīng)用程序,,而租戶 C 在 Linux 上運行應(yīng)用程序。在三種共享中間件方法中,,這種方法需要對現(xiàn)有應(yīng)用程序做的修改最少,,這有助于加快部署速度。在 SaaS Blueprints 系列即將推出的一個演示程序中,,會給出一個采用這種方法的示例,,它使用 WebSphere Smash 和 MySQL 作為中間件,運行一個租戶 phpBB 公告牌應(yīng)用程序,。





虛擬化方法

使用虛擬化技術(shù)在共享服務(wù)器上運行多個操作系統(tǒng)分區(qū),,對于每個租戶分配專用的應(yīng)用程序和中間件實例。

方法 4:用多個 VM 映像實現(xiàn)虛擬化

租戶使用不同的虛擬映像以及不同的應(yīng)用程序,、中間件和操作系統(tǒng)實例,,但是共享物理服務(wù)器。在近幾年,,服務(wù)器虛擬化技術(shù)在基于 x86 的服務(wù)器上得到了廣泛應(yīng)用,,正在迅速地成為一種低成本的日常技術(shù)。

與共享中間件方法相比,,服務(wù)器虛擬化不需要為啟用多租戶進行大量代碼開發(fā),。在物理服務(wù)器(主機)上安裝服務(wù)器虛擬化之后,對于每個租戶,,服務(wù)供應(yīng)商實例化一個虛擬服務(wù)器(訪客),,它包含與這個租戶相關(guān)的軟件,包括中間件和應(yīng)用程序,。

多租戶的技術(shù)困難之一是供應(yīng)新的租戶,。為了供應(yīng)新的租戶,服務(wù)供應(yīng)商必須執(zhí)行可能漫長且復雜的安裝和配置步驟,??梢圆捎?Virtual appliances(例如,VMWare Virtual Appliance for WebSphere Application Server Network Deployment V7.0 Open Beta),,在其中包含預先配置的與租戶相關(guān)的操作系統(tǒng)和中間件,這有助于解決供應(yīng)問題,。

圖 5 給出一個采用這種方法的示例,,其中在物理服務(wù)器上安裝了本機系統(tǒng)管理程序(比如 VMWare ESX™ 或 Xen)。在這個示例中,底部綠框中的物理 blade 服務(wù)器 A 有兩個頻率為 2 Ghz 的 CPU,,它被分為兩個虛擬 blade 服務(wù)器(黑框中的 vBlade 1 和 vBlade 2),,每個虛擬服務(wù)器各有一個 2 Ghz 的 CPU。虛擬 blade 服務(wù)器 vBlade 3 包含整個服務(wù)器 B,,有 4 個 2Ghz CPU,。虛擬服務(wù)器還共享物理服務(wù)器的其他資源,比如內(nèi)存,、磁盤空間和網(wǎng)絡(luò)連接,。應(yīng)用程序 App4 和 App5 部署在 vBlade 1 和 vBlade 2 中,為兩個租戶服務(wù),,App6 部署在 vBlade 3 中,。注意,租戶可以使用不同的操作系統(tǒng),。


圖 5. 通過基于本機系統(tǒng)管理程序的服務(wù)器虛擬化啟用多租戶
通過基于本機系統(tǒng)管理程序的服務(wù)器虛擬化啟用多租戶

方法 4a:用中介層實現(xiàn)虛擬化

服務(wù)供應(yīng)商在一個中介代理層中集中地執(zhí)行通用的多租戶功能,,比如路由、訪問控制和度量,。中介層可以與虛擬化方法相結(jié)合,,把它與在單獨虛擬映像分區(qū)中運行的租戶相關(guān)服務(wù)實例集成起來。中介代理層位于應(yīng)用程序的最終用戶和應(yīng)用程序中的服務(wù)之間,,它動態(tài)地把來自租戶的用戶的服務(wù)請求綁定或路由到與租戶相關(guān)的服務(wù)實例,,見圖 6。

圖 6 描述一個中介方法示例,,其中服務(wù)供應(yīng)商使用 WebSphere DataPower SOA appliance (WDP) 實現(xiàn)中介代理層,。在這個示例中,在 WDP web 服務(wù)代理中配置路由規(guī)則,,這些規(guī)則把兩個租戶(A 和 B)的用戶的請求路由到相應(yīng)的應(yīng)用程序?qū)嵗?。另外,通過集成 Tivoli Access Manager 和 Tivoli Usage and Accounting Manager 等其他中間件組件,,添加了度量,、訪問控制和審計等多租戶功能。


圖 6. 中介方法的示例(使用 WebSphere DataPower SOA appliances 啟用多租戶)
中介方法的示例(使用 WebSphere DataPower SOA appliances 啟用多租戶)

在本系列的第 5,、6,、7 和 8 部分中,我們將介紹實現(xiàn)這種方法的三種方式,,使用以下產(chǎn)品組合:

  • WebSphere Business Services Fabric
  • WebSphere DataPower SOA appliances 和 Tivoli Access Manager
  • WebSphere Enterprise Services Bus 和 WebSphere Service Registry and Repository

方法 5:在單獨的服務(wù)器上運行多個實例的 ASP 模型

租戶只共享數(shù)據(jù)中心的基礎(chǔ)結(jié)構(gòu)(比如供電和制冷),,但是使用應(yīng)用程序、中間件,、操作系統(tǒng)和服務(wù)器的不同實例,。在圖 7 所示的示例中,,租戶 A、B 和 C 使用三個不同的應(yīng)用程序?qū)嵗?AppA,、AppB 和 AppC,,它們在與租戶相關(guān)的中間件實例、操作系統(tǒng)實例和物理服務(wù)器上運行,。這種方法最適合那些要求為不同的租戶提供充分隔離和定制的工作負載和場景,。


圖 7. ASP 模型的示例(通過在單獨的服務(wù)器上運行多個實例啟用多租戶)
ASP 模型的示例(通過在單獨的服務(wù)器上運行多個實例啟用多租戶)




多租戶方法的成本-收益對比

本節(jié)從服務(wù)供應(yīng)商和服務(wù)開發(fā)人員的角度考慮成本-收益分析。

對于服務(wù)供應(yīng)商來說,,在為大量租戶提供服務(wù)時,,方法 5(即 ASP 方法)的成本是最高的。在其他四種方法中,,隨著資源共享程度的提高,,經(jīng)濟有效性和規(guī)模效益會依次提高,見圖 1 中的兩個黃色箭頭,。ASP 方法會導致以下與租戶相關(guān)的成本類型:

  • 物理服務(wù)器:每個租戶需要專用的服務(wù)器,、磁盤空間和輔助設(shè)備。
  • 管理:服務(wù)器和某些軟件需要連續(xù)維護,,比如安裝安全補丁,、升級操作系統(tǒng)和中間件、用戶賬號管理等等,。必須在每個租戶的基礎(chǔ)結(jié)構(gòu)上單獨地執(zhí)行這些任務(wù),。
  • 運營:運行數(shù)據(jù)中心需要與電力、制冷和房地產(chǎn)相關(guān)的許多成本,,在增加租戶時成本會顯著增加,。

但是,對于服務(wù)開發(fā)人員來說,,這種方法的成本是最低的,,因為不需要為啟用多租戶修改應(yīng)用程序。另外,,這種方法為與租戶相關(guān)的實例提供最強的隔離和定制能力,。

方法 1 到 3(即共享中間件方法)的運營成本是三種共享模型中最低的,因為隨著資源共享程度的提高(服務(wù)器,、中間件和操作系統(tǒng)),,要管理的組件數(shù)量會減少。這些方法還提供規(guī)模效益,,因為駐留在單一物理服務(wù)器上的租戶數(shù)量最高,。對于服務(wù)開發(fā)人員,方法 1(單一應(yīng)用程序?qū)嵗┑某杀咀罡?,因為它可能要求重新設(shè)計現(xiàn)有的應(yīng)用程序,,需要很長的開發(fā)時間和很大的成本,。另外,它要求了解高級的應(yīng)用服務(wù)器特性和技術(shù),,需要非常有經(jīng)驗的開發(fā)人員。

對于服務(wù)開發(fā)人員,,方法 4(即多個虛擬映像)的成本比共享中間件方法(方法 1-3)低,,因為需要的應(yīng)用程序修改很少,甚至不需要,。這樣就可以更快地把服務(wù)投入市場,。在虛擬化方法中添加中介層(方法 4a)也會降低復雜性,減少集成其他多租戶功能(比如訪問控制和度量)所需的時間,。

表 1 提供共享中間件方法(方法 1-3)和虛擬化方法(4 和 4a)的成本收益對比,。


表 1. 共享中間件方法和虛擬化方法的成本收益對比
共享中間件方法 虛擬化和帶中介的虛擬化
收益
  • 能夠快速擴展,支持更多的租戶
  • 經(jīng)濟有效,,因為所有租戶共享基礎(chǔ)結(jié)構(gòu)
  • 與虛擬化或中介方法相比,,開銷低
  • 不需要重新設(shè)計 應(yīng)用程序
  • 只需修改少量集成代碼,即可高效地啟用更多通用的多租戶特性,,比如:
    - 訪問控制
    - 度量
    - 處理和轉(zhuǎn)換與租戶相關(guān)的應(yīng)用程序中協(xié)議和接口方面的差異
  • 加快 投入市場的速度,,降低 前期成本
  • 良好的租戶隔離,提供更好的安全性可用性
  • 與共享的環(huán)境相比,,提供更高的硬件和操作系統(tǒng)定制 程度
    - 支持租戶應(yīng)用程序使用不同的 操作系統(tǒng)和硬件
  • 比較容易把應(yīng)用程序重新定位 到另一個平臺
  • 比較容易為每個租戶執(zhí)行備份災(zāi)難恢復
成本
  • 在方法 1 中,,需要對現(xiàn)有的租戶代碼進行重新設(shè)計修改代碼
  • 重新設(shè)計應(yīng)用程序會影響多租戶投入市場的時間
  • 如果需要修改代碼,前期成本會比較高
  • 實現(xiàn)方法 1 需要經(jīng)驗豐富的程序員
  • 為每個租戶提供定制的備份和恢復等特性會增加復雜性
  • 可伸縮性低,,每個服務(wù)器支持的租戶數(shù)量少
  • 性能開銷比較大
  • 運營成本管理成本比較高,,因為需要虛擬機器映像的多個實例
  • 在部署到中介層時,部署成本比較高




結(jié)束語

從傳統(tǒng)的應(yīng)用程序服務(wù)供應(yīng)商模型遷移到 web 交付模型有多種方法,,這些方法對于服務(wù)供應(yīng)商和服務(wù)開發(fā)人員有不同的成本和收益,。我們討論了五種主要方法,它們具有不同的資源共享程度和開發(fā)復雜性,。這個遷移過程的目標是提高經(jīng)濟有效性和降低總擁有成本,。本文討論了各種方法的優(yōu)缺點,有助于您選擇合適的方法并準備適當?shù)捏w系結(jié)構(gòu),,從而逐步實現(xiàn)這些目標,。





致謝

作者要感謝 IBM Research 的 Ajay Mohindra 和 Suresh N. Chari,他們?yōu)槊枋鲋饕嘧鈶舴椒ǖ膱D 1 做出了貢獻,。



參考資料

學習

獲得產(chǎn)品和技術(shù)
  • 下載 WebSphere Application Server Network Deployment V7.0 試用版,此試用版下載包括用于 VMware Server,、VMware ESX 和 Xen 管理程序的 WebSphere Application Server Network Deployment 虛擬映像,。使用此虛擬映像可以快速安裝、部署和卸載 WebSphere 環(huán)境,,便于快速評估產(chǎn)品,。

  • 下載 WebSphere Application Server V7.0 試用版,,該產(chǎn)品是基于 Java™ EE 5 認證的,支持 EJB 3.0 技術(shù)的應(yīng)用程序平臺,。

  • 下載 WebSphere Application Server Community Edition,,一個構(gòu)建于 Apache Geronimo 技術(shù)之上的,輕量級 Java EE 應(yīng)用服務(wù)器,。 您可以免費使用該產(chǎn)品,,該產(chǎn)品通過集成開源社區(qū)的最新貢獻,為開發(fā)部署 Java 應(yīng)用提供了靈活易用的基礎(chǔ)平臺,。

  • 下載 IBM 產(chǎn)品評估版,試用來自 DB2®,、Lotus®,、Rational®、Tivoli® 和 WebSphere® 的應(yīng)用程序開發(fā)工具和中間件產(chǎn)品,。


作者簡介

Carl

Carl Osipov 是 IBM Software Group 的 Strategy and Technology Organization 的軟件架構(gòu)師,。他所擅長的領(lǐng)域是分布式計算、語音應(yīng)用程序開發(fā)和計算自然語言理解,。他在本行業(yè)以及大眾媒體上發(fā)表了一些 SOA 和溝通對話管理主題方面的文章,。他當前主要關(guān)注為復合業(yè)務(wù)服務(wù)設(shè)計重用技術(shù)。


Goldszmidt

Germán Goldszmidt 博士是 IBM Software Group, Technical Strategy 的一位杰出工程師,。他負責 SWG Advanced Technology 計劃,,包括孵化項目和 Software Group Research Joint Program。他領(lǐng)導過復合業(yè)務(wù)服務(wù)和 Software as a Service 領(lǐng)域的多個項目,。在 2003 年之前,,他是 IBM Research T.J. Watson 實驗室的資深研究人員和經(jīng)理。他曾帶領(lǐng)團隊開發(fā)了第一個計算供應(yīng)電子實用程序,,這個程序可以自治地調(diào)整資源分配,,從而高效地處理各種工作負載和基礎(chǔ)結(jié)構(gòu)變化。以前,,他設(shè)計和開發(fā)了高性能負載平衡程序 Network Dispatcher,,為多種 IBM 產(chǎn)品和部署提供可靠性和可伸縮性。他在專業(yè)期刊和會議錄上發(fā)表了 50 多篇論文,,擁有 15 項專利,。


Mary Taylor

Mary 在 SWG Technical Strategy and Incubation 團隊工作,管理 SWG Incubation 計劃,。她是 SaaS Community of Practice 的負責人之一并參與 SaaS Blueprints,。她當前主要關(guān)注 IBM 中間件在金融市場前端辦公室中的定位。


Indrajit Poddar

Indrajit Poddar (IP) 是 IBM Software Group Strategy 的 Strategy, Technology, Architecture, and Incubation 團隊的成員,。他領(lǐng)導幾個按 Software-as-a-Service (SaaS) 模型構(gòu)建復合業(yè)務(wù)服務(wù)的集成 PoCs,。


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多