多租戶技術- 维基百科,自由的百科全书

文章推薦指數: 80 %
投票人數:10人

多租戶技術(英語:multi-tenancy technology)或称多重租赁技术,是一種軟體架構技術,它是在探討與實作如何於多用戶的環境下共用相同的系統或程式元件,並且仍可確保 ... 多租戶技術 維基百科,自由的百科全書 跳至導覽 跳至搜尋 多租戶技術(英語:multi-tenancytechnology)或稱多重租賃技術,是一種軟體架構技術,它是在探討與實作如何於多使用者的環境下共享相同的系統或程式元件,並且仍可確保各使用者間資料的隔離性。

由於雲端運算議題的發燒,在共享的資料中心內如何以單一系統架構與服務提供多數使用者端相同甚至可客製化的服務,並且仍然可以保障客戶的資料隔離,讓多租戶技術成為雲端運算技術下的顯學。

目次 1歷史 2概念與技術 3實作方式 4特色 5實務應用 6參考資料 歷史[編輯] 多租戶技術源於1960年代,許多公司為了要使用更多的運算資源,向持有大型主機(Mainframe)的供應商租用一部份的運算資源,而這些使用者經常會用到相同的應用程式,當時會以使用者在登入系統時輸入的資料來決定使用者的帳戶ID,基於這個ID,Mainframe的供應商即可利用此ID來計算運算的資源使用量,包含CPU,記憶體與磁碟或磁帶等,這個作法也被SAP公司用在其R/1到R/3的產品線。

到了1990年代,應用程式服務提供者服務(applicationserviceprovider)模式出現,它的作法與運作模式與租用大型主機時相同,不過租用的資源是在軟體上,除了作業系統以外也包含了其上的應用程式,例如ERP系統或是CRM等應用,系統可能會運行在數台不同的機器上,或是在相同的主機但共享不同的資料庫,以區分並計算客戶的資源使用量,藉以作為計費的標準,而此技術也有效的縮減供應商的實體機器成本(因為可以在一台電腦上同時執行多個使用者所租用的應用程式行程)。

到了現代,受歡迎的消費者導向Web應用程式(如Hotmail或Gmail等)也是以單一應用程式平台來支援所有的使用者,這已經是多租戶技術的自然演化的結果,多租戶技術也可以讓客戶中的一部份使用者得以進一步客製化他們的應用程式。

在虛擬化(virtualization)技術的成熟與應用性的擴張之下,多租戶技術可以駕馭虛擬化的平台,更強化在使用者應用程式與資料之間的隔離,讓多租戶技術能更加發揮它的特色。

概念與技術[編輯] 在多租戶技術中,租戶(tenant)是指使用系統或電腦運算資源的客戶,但在多租戶技術中,租戶包含在系統中可識別為指定使用者的一切資料,舉凡帳戶與統計資訊(accountingdata),使用者在系統中建置的各式資料,以及使用者本身的客制化應用程式環境等,都屬於租戶的範圍,而租戶所使用的則是基於供應商所開發或建置的應用系統或運算資源等,供應商所設計的應用系統會容納數個以上的使用者在同一個環境下使用,為了要讓多個使用者的環境能力同一個應用程式與運算環境上使用,則應用程式與運算環境必須要特別設計,除了可以讓系統平台可以允許同時讓多份相同的應用程式執行外,保護租戶資料的隱私與安全也是多租戶技術的關鍵之一。

技術上,多租戶技術可以透過許多不同的方式來切割使用者的應用程式環境或資料。

資料面(dataapproach):供應商可以利用切割資料庫(database),切割儲存區(storage),切割結構描述(schema)或是表格(table)來隔離租戶的資料,必要時會需要進行對稱或非對稱加密以保護敏感資料,但不同的隔離作法有不同的實作複雜度與風險。

程式面(applicationapproach):供應商可以利用應用程式掛載(hosting)環境,於行程(process)上切割不同租戶的應用程式執行環境,在無法跨越行程通訊的情況下,保護各租戶的應用程式執行環境,但供應商的運算環境要夠強。

系統面(systemapproach):供應商可以利用虛擬化技術,將實體運算單元切割成不同的虛擬機器,各租戶可以使用其中一至數台的虛擬機器來作為應用程式與資料的儲存環境,但對供應商的運算能力要更要求。

實作方式[編輯] 多租戶技術的實作重點,在於不同租戶間應用程式環境的隔離(applicationcontextisolation)以及資料的隔離(dataisolation),以維持不同租戶間應用程式不會相互干擾,同時資料的保密性也夠強。

應用程式部份:透過行程或是支援多應用程式同時執行的裝載環境(例如WebServer,像是Apache或IIS等)來做行程間的隔離,或是在同一個伺服程式(server)行程內以執行緒的方式隔離。

資料部份:透過不同的機制將不同租戶的資料隔離,Force.com是採用中介資料(metadata)的技術來切割[1],微軟MSDN的技術檔案則是展示了使用結構描述的方式隔離[2]。

特色[編輯] 多租戶技術有下列特色: 由於多租戶技術可以讓多個租戶共享一個應用程式或運算環境,且租戶大多不會使用太多運算資源的情況下,對供應商來說多租戶技術可以有效的降低環境建置的成本。

包含硬體本身的成本,作業系統與相關軟體的授權成本都可以因為多租戶技術,而由多個租戶一起分擔。

透過不同的資料管理手段,多租戶技術的資料可以用不同的方式進行資料隔離,在供應商的架構設計下,資料的隔離方式也會不同,而良好的資料隔離法可以降低供應商的維護成本(包含裝置與人力),而供應商可以在合理的授權範圍內取用這些資料分析,以作為改善服務的依據。

多租戶架構下所有使用者都共享相同的軟體環境,因此在軟體改版時可以只發布一次,就能在所有租戶的環境上生效。

具多租戶架構的應用軟體雖可客制,但客制難度較高,通常需要平台層的支援與工具的支援,才可降低客制化的複雜度。

實務應用[編輯] 多租戶技術在實務上運用的成功且廣為人知的案例之一,是由Salesforce.com所建置的CRM應用系統,該公司除了Salesforce.com的CRM軟體以外,它還建置了Force.com平台即服務(PaaS)架構,以支援開發人員發展基於Force.com平台上的應用程式。

在雲端運算的加持之下,多租戶技術被廣為運用於開發雲端各式服務,不論是IaaS,PaaS還是SaaS,都可以看到多租戶技術的影子。

參考資料[編輯] ^TheForce.comMultitenantArchitecture(PDF).[2011-11-19].(原始內容(PDF)存檔於2011-08-17).  ^Multi-TenantDataArchitecture.[2010-11-23].(原始內容存檔於2010-11-12).  閱論編雲端運算即服務(英語:Asaservice) 內容即服務(英語:Contentasaservice) 數據即服務 桌面虛擬化 函式即服務(英語:Functionasaservice) 基礎設施即服務 平台整合即服務(英語:Cloud-basedintegration) 移動後端即服務(英語:Mobilebackendasaservice) 網路即服務 平台即服務 安全即服務 軟體即服務 技術 雲資料庫(英語:Clouddatabase) 雲端儲存 資料中心 分散式雲檔案系統(英語:Distributedfilesystemforcloud) 硬體虛擬化 網際網路 原生雲程式(英語:Nativecloudapplication) 電腦網路 安全性 結構化儲存(英語:Comparisonofstructuredstoragesoftware) 虛擬裝置 網路API 虛擬私有雲 應用程式 Box Dropbox Google Workspace 雲端硬碟 HP雲(英語:HPCloud)(已關閉) IBM雲(英語:IBMCloud) 微軟 Microsoft365 OneDrive 甲骨文雲 Rackspace Salesforce Workday Zoho 平台 阿里雲 騰訊雲 百度雲 新浪雲 網易雲 金山雲 華為雲 明源雲 搜狗雲輸入法 亞馬遜 AppScale(英語:AppScale) Box Bluemix(英語:Bluemix) CloudBolt(英語:CloudBolt) 雲鑄造(英語:CloudFoundry) 古柯鹼(英語:Cocaine(PaaS)) Creatio(英語:Creatio) 引擎工廠(英語:EngineYard) Helion(英語:HPEHelion) GEPredix(英語:Predix(software)) GoogleAppEngine GreenQloud(英語:GreenQloud) Heroku IBM雲(英語:IBMCloud) Inktank(英語:InktankStorage) Jelastic(英語:Jelastic) Mendix(英語:Mendix) MicrosoftAzure MindSphere(英語:MindSphere) Netlify(英語:Netlify) 甲骨文雲 OutSystems(英語:OutSystems) openQRM(英語:openQRM) OpenShift PythonAnywhere(英語:PythonAnywhere) RightScale(英語:RightScale) Scalr(英語:Scalr) Force.com SAP雲平台(英語:SAPCloudPlatform) VCloudAir WaveMaker(英語:WaveMaker) 基礎設施 阿里雲 亞馬遜雲端運算服務 Abiquo企業版(英語:AbiquoEnterpriseEdition) CloudStack(英語:ApacheCloudStack) Citrix雲(英語:CitrixCloud) CtrlS(英語:CtrlS) DigitalOcean EMCAtmos(英語:EMCAtmos) Eucalyptus(英語:Eucalyptus(software)) 富士通(英語:FUJITSUCloudIaaSTrustedPublicS5) GoGrid(英語:GoGrid) Google雲端平台 GreenButton(英語:GreenButton) GreenQloud(英語:GreenQloud) IBM雲(英語:IBMCloud) iland(英語:iland) Joyent Linode Lunacloud(英語:Lunacloud) MicrosoftAzure Mirantis(英語:Mirantis) Netlify(英語:Netlify) Nimbula(英語:Nimbula) Nimbus(英語:Nimbus(cloudcomputing)) OpenIO(英語:OpenIO) OpenNebula(英語:OpenNebula) OpenStack 甲骨文雲 OrionVM(英語:OrionVM) Rackspace雲(英語:RackspaceCloud) SafeSwiss雲(英語:SafeSwissCloud) SoftLayer(英語:SoftLayer) ZadaraStorage(英語:ZadaraStorage) Libvirt Libguestfs OVirt(英語:OVirt) VirtualMachineManager Wakame-vdc(英語:Wakame-vdc) VCloudAir 分類 共享資源 取自「https://zh.wikipedia.org/w/index.php?title=多租戶技術&oldid=62192961」 分類:​雲端運算軟體架構軟體工程隱藏分類:​含有英語的條目 導覽選單 個人工具 沒有登入討論貢獻建立帳號登入 命名空間 條目討論 臺灣正體 不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體 查看 閱讀編輯檢視歷史 更多 搜尋 導航 首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科 說明 說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科 工具 連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目 列印/匯出 下載為PDF可列印版 其他語言 CatalàDeutschEnglishEspañolفارسیFrançaisעבריתItaliano한국어Русский 編輯連結



請為這篇文章評分?