多租戶:定義、重要性和應用
在雲端工作時,最重要的考慮因素之一是為公司和客戶資料使用哪種架構。這是因為選擇經濟高效的設計對於開發經濟的 SaaS 服務至關重要。
多租戶對雲計算意味著什麼?
雲公司將多租戶作為共享計算機資源的系統。這種共享資源的使用不應與虛擬化混淆,虛擬化也是一個相關的概念。在多租戶環境中,多個客戶參與相同的操作,該操作執行在相同的作業系統、硬體和儲存系統上。與多租戶不同,虛擬化下的每個程式都在其具有作業系統的虛擬機器上執行。
定義
在雲計算中,多租戶是指雲供應商的多個客戶共享相同的計算機資源。儘管共享資源,雲客戶彼此之間並不知情,並且他們的資料保持完全隔離。沒有多租戶,雲計算將遠不實用。許多公共雲計算形式,包括 IaaS、PaaS、SaaS、容器和無伺服器計算,都使用多租戶架構。
考慮一下銀行的運作方式來理解多租戶。多個人可以在同一家銀行存錢,即使他們的錢存放在同一個區域,他們的資金也是完全獨立的。銀行的客戶之間不會互動,無法訪問彼此的資產,實際上也彼此不知情。對於公共雲計算,雲供應商的客戶使用相同的結構——通常是相同的伺服器——同時保持其資料和業務邏輯的隔離和安全。
多租戶的傳統概念是單個軟體例項支援多個使用者或租戶。在當今的雲計算中,這個術語具有更廣泛的含義,指的是共享雲基礎架構,而不僅僅是共享軟體例項。
單租戶與多租戶
單租戶雲架構僅為一個客戶提供服務,使用單個軟體例項及其配套的基礎架構/資料庫。在單租戶環境中,所有客戶資料和關係都與其他客戶的資料和關係保持隔離。客戶資料不會儲存在同一個資料庫中,也不會進行資料交換。單租戶雲中的每個客戶都獨自居住在一個獨立的“公寓”式結構中,其安全系統和服務完全與相鄰的結構隔離開。
多租戶架構使用單個軟體例項和資料庫為多個消費者(即租戶)提供服務。在多租戶雲架構中,租戶居住在同一公寓樓內的獨立“公寓”中。他們都透過相同的安全系統和社群服務連線起來。每個租戶都有他們公寓的鑰匙;他們的隱私在他們的公寓內得到保護。其他租戶的行為更有可能影響他們在房產中的舒適度。
多租戶的重要性
多租戶是一個重要的概念,因為它使我們能夠充分利用公共雲環境。反過來,雲環境包含每個人的資料、客戶、供應商、合作伙伴和全球資源。因此,多租戶以低成本為每個人提供高質量、一致的雲訪問。這是一種很好的方法,可以創造公平的競爭環境,讓小型企業能夠與大型企業競爭。
雲主機提供新的功能、特性、創新和更廣泛的客戶群優勢。很多時候,多租戶環境中許多客戶的需求推動了新特性的建立。然而,最終整個行業都會受益。
多租戶的應用
多租戶應用程式是一個共享資源,允許“不同租戶的使用者”使用該應用程式,就好像它是他們自己的應用程式一樣。一個適合多租戶操作的常見方案是,來自多個租戶的所有應用程式使用者可能希望個性化使用者體驗,但具有相同的基本業務需求。
從應用程式提供商的角度來看,多租戶的優勢主要與功能性和成本降低有關。一個應用程式的單個例項可以滿足多個租戶的需求,從而可以整合系統管理任務,例如監控、效能調整、軟體維護和資料備份。
當多租戶應用程式有效構建時,使用者將獲得以下優勢。
單個租戶的活動不會影響其他租戶對應用程式的使用。租戶無法訪問彼此的資料。租戶認為他們對應用程式擁有獨家訪問權。
各個租戶希望應用程式始終可用,可能在 SLA 中有所保證。同樣,其他租戶的活動不應影響應用程式的可用性。
應用程式可按需進行伸縮以滿足各個租戶的需求。其他租戶的存在和行為不應影響應用程式的效能。
由於多租戶允許資源共享,因此成本低於執行專用的單租戶應用程式。
單個租戶可以以多種方式修改應用程式,例如新增或刪除功能、更改顏色和徽標,甚至插入自己的程式碼或指令碼。
不同的多租戶應用程式包括 Docker、Kubernetes、Microsoft Office 365、Netflix、Salesforce、WordPress、Zendesk、Zoho、Outlook.com 和 visualstudio.com。
結論
多租戶使得同一應用程式的多個例項可以在共享環境中執行。這降低了公司在開發完善的 SaaS 業務模型方面的整體成本。
多租戶架構允許 SaaS 提供商輕鬆地應用更新。更新只需要在整個軟體操作流程得到簡化之後進行一次。雲計算使多租戶能夠透過在多個客戶之間分配硬體和軟體元件來最大限度地提高資源利用率。這兩種技術目前正透過多租戶方法引入,並在工業應用中得到廣泛使用。多租戶是雲計算的關鍵安全和隱私特性。