多租戶技術多租戶技術(英語:multi-tenancy technology)或称多重租赁技术,是一種軟體架構技術,它是在探討與實作如何於多用戶的環境下共用相同的系統或程式元件,並且仍可確保各用戶間資料的隔離性。 由於雲端運算議題的發燒,在共用的資料中心內如何以單一系統架構與服務提供多數用戶端相同甚至可客製化的服務,並且仍然可以保障客戶的資料隔離,讓多租戶技術成為雲端運算技術下的顯學。 歷史多租戶技術源於1960年代,許多公司為了要使用更多的運算資源,向持有大型主機(Mainframe)的供應商租用一部份的運算資源,而這些用戶經常會用到相同的應用程式,當時會以使用者在登入系統時輸入的資料來決定用戶的帳戶ID,基於這個ID,Mainframe的供應商即可利用此ID來計算運算的資源使用量,包含CPU,記憶體與磁碟或磁帶等,這個作法也被SAP公司用在其R/1到R/3的產品線。 到了1990年代,應用程式服務提供者服務(application service provider)模式出現,它的作法與運作模式與租用大型主機時相同,不過租用的資源是在軟體上,除了作業系統以外也包含了其上的應用程式,例如ERP系統或是CRM等應用,系統可能會運行在數台不同的機器上,或是在相同的主機但共享不同的資料庫,以區分並計算客戶的資源使用量,藉以作為計費的標準,而此技術也有效的縮減供應商的實體機器成本(因為可以在一台電腦上同時執行多個用戶所租用的應用程式行程)。到了現代,受歡迎的消費者導向Web應用程式(如Hotmail或Gmail等)也是以單一應用程式平台來支援所有的使用者,這已經是多租戶技術的自然演化的結果,多租戶技術也可以讓客戶中的一部份使用者得以進一步客製化他們的應用程式。 在虛擬化(virtualization)技術的成熟與應用性的擴張之下,多租戶技術可以駕馭虛擬化的平台,更強化在用戶應用程式與資料之間的隔離,讓多租戶技術能更加發揮它的特色。 概念與技術在多租戶技術中,租戶(tenant)是指使用系統或電腦運算資源的客戶,但在多租戶技術中,租戶包含在系統中可識別為指定用戶的一切資料,舉凡帳戶與統計資訊(accounting data),用戶在系統中建置的各式資料,以及用戶本身的客制化應用程式環境等,都屬於租戶的範圍,而租戶所使用的則是基於供應商所開發或建置的應用系統或運算資源等,供應商所設計的應用系統會容納數個以上的用戶在同一個環境下使用,為了要讓多個用戶的環境能力同一個應用程式與運算環境上使用,則應用程式與運算環境必須要特別設計,除了可以讓系統平台可以允許同時讓多份相同的應用程式執行外,保護租戶資料的隱私與安全也是多租戶技術的關鍵之一。 技術上,多租戶技術可以透過許多不同的方式來切割用戶的應用程式環境或資料。
實作方式多租戶技術的實作重點,在於不同租戶間應用程式環境的隔離(application context isolation)以及資料的隔離(data isolation),以維持不同租戶間應用程式不會相互干擾,同時資料的保密性也夠強。
特色多租戶技術有下列特色:
實務應用多租戶技術在實務上運用的成功且廣為人知的案例之一,是由Salesforce.com所建置的CRM應用系統,該公司除了Salesforce.com的CRM軟體以外,它還建置了Force.com平台即服務(PaaS)架構,以支援開發人員發展基於Force.com平台上的應用程式。 在雲端運算的加持之下,多租戶技術被廣為運用於開發雲端各式服務,不論是IaaS,PaaS還是SaaS,都可以看到多租戶技術的影子。 參考資料
|
Portal di Ensiklopedia Dunia