經過量年企業信息化建設,逐漸構成的辦公系統中還有9個部門業務網站子系統、9個專業利用子系統、20個獨立信息模塊、330個流程。這些系統或模塊分別搭建在Microsoft IIS、Apache Tomcat、Weblogic、Cordys BOP上,相互彼此獨立、互不影響。
在不斟酌重復投資、資源同享、便于運維的情況下,仍存在1些長時間很難解決的問題:
(1)、各個系統的組織、賬號不統1,保護困難; 由于云計算議題的發熱,在IaaS虛擬化資源池和共用的數據中心內,如何以單1系統架構與服務提供多數客戶端相同乃至可定制化的服務,并且依然可以保障客戶的數據隔離,讓多租戶技術成為上述需求提供1套解決方案。
參考百度百科的定義,多租戶技術(英語:multi-tenancy technology)或稱多重租賃技術,是1種軟件架構技術,它是在探討與實現如何于多用戶的環境下共用相同的系統或程序組件,并且仍可確保各用戶間數據的隔離性。
多租戶技術源于1960年代,許多公司為了要使用更多的運算資源,向持有大型主機(Mainframe)的供應商租用1部分的運算資源,而這些用戶常常會用到相同的利用程序,當時會以用戶在登錄系統時輸入的數據來決定用戶的帳戶ID,基于這個ID,Mainframe的供應商便可利用此ID來計算運算的資源使用量,包括CPU,存儲器與軟盤或磁帶等,這個作法也被SAP公司用在其R/1到R/3的產品線。
到了1990年代,利用程序服務提供者服務(application service provider)模式出現,它的作法與運作模式與租用大型主機時相同,不過租用的資源是在軟件上,除操作系統之外也包括了其上的利用程序,例如ERP系統或是CRM等利用,系統可能會運行在數臺不同的機器上,或是在相同的主機但同享不同的http://www.vxbq.cn/db/,以辨別并計算客戶的資源使用量,藉以作為計費的標準,而此技術也有效的縮減供應商的實體機器本錢(由于可以在1臺電腦上同時運行多個用戶所租用的利用程序進程)。到了現代,受歡迎的消費者導向Web利用程序(如Hotmail或Gmail等)也是以單1利用程序平臺來支持所有的用戶,這已是多租戶技術的自然演變的結果,多租戶技術也能夠讓客戶中的1部分用戶得以進1步定制化他們的利用程序。
在虛擬化(virtualization)技術的成熟與利用性的擴大之下,多租戶技術可以駕馭虛擬化的平臺,更強化在用戶利用程序與數據之間的隔離,讓多租戶技術能更加發揮它的特點。
在功能上,SaaS利用需要完成利用需求中的功能要求。這與傳統利用之間是沒有任何分別的。除此以外,SaaS利用最重要的1個特性就是支持多租戶。這1點特別對面向企業的SaaS利用來講是必須的。
下面,我們就來看看在SaaS利用搭建進程中,可以采取甚么樣的多租戶模型。從而能較為清晰地了解未來使用PaaS平臺開發的SaaS,可以為用戶提供哪些多租戶的服務。
Gartner提出了7種多租戶的部署和實現方式模型,該模型可以作為任何多租戶環境的參考模型。在具體的實行中和大型企業中,可以根據本身的需要來決定采取Gartner提出的何種多租戶模型,或幾種多租戶模型可以并存在1個云環境中。
我們首先來看1下Gartner提出的這7種模型,然后再根據本次項目的實際情況,提出使用工作流引擎產品搭建何種多租戶模型設計。
首先,Gartner依照4個層次對多租戶模型進行劃分,即基礎設施層(主要是指各種http://www.vxbq.cn/server/)、數據層(即http://www.vxbq.cn/db/層)、利用平臺層(即利用運行的容器,通常也稱為利用http://www.vxbq.cn/server/)、和利用邏輯層(即利用功能)。以下圖所示:
第1種模型稱為“Shared Nothing”,即不同享任何資源。在這類模型中,從最底層的基礎設施層,1直到最上真個利用邏輯層,每一個租戶均獨享。這類模式也是傳統的IT開發和部署模式。
第2種模型稱為“Shared Hardware”,即同享硬件資源,所有硬件http://www.vxbq.cn/server/會構成1個硬件資源池,所有租戶根據需要來同享這些資源。這類模式就是現在比較常見的IaaS模式。
第3種模型稱為“Shared OS”,即同享操作系統。在這類模型中,所有硬件資源均安裝有相同的操作系統,通過在租戶間切分和分配操作系統的進程來實現對計算資源的同享。與第2種模型1樣,這類模型也主要集中在對底層計算資源的同享和分配上,而更高層次的內容均是各個租戶獨享的資源。需要單獨購買和部署。
第4種模型稱為“Shared Database”,即同享http://www.vxbq.cn/db/。在這類模型下,所有租戶會同享1個http://www.vxbq.cn/db/,各個租戶自己的利用http://www.vxbq.cn/server/和運行于其中的利用會使用同享http://www.vxbq.cn/db/中為該租戶劃分的數據資源。
第5種模型稱為“Shared Container”,即同享容器。注意,在這類模型下,各個租戶只是同享利用的運行容器,而利用對應的http://www.vxbq.cn/db/都是各個租戶獨享的,這1點與第6種模型是根本性的區分。在這類模型中,要求利用運行的容器是支持多租戶訪問的,即容器本身可以智能化的辨別來自各個租戶的要求。
第6種模型稱為“Shared Everything”,即全同享。在這類模型中,所有租戶自頂向下同享所有資源。對提供服務的1方來說,可以最大限度的利用各種資源,并且依托支持多租戶的利用容器,也能夠只開發1套程序,部署1次,即可滿足所有租戶對公共利用的需要。
第7種模型稱為“Custom Multitenancy”,即定制化的多租戶。在這類模型中,實現多租戶的方法是在利用邏輯中改造已有的API,增加租戶的維度。但是這類模式僅僅是對某1個利用起作用,由于沒有使用支持多租戶的利用http://www.vxbq.cn/server/,但是又想讓各個租戶同享利用容器,所以不能不在利用邏輯中做文章。
在信息平臺建設中,應當根據具體客戶的需要,來構建恰當的多租戶模型,為其提供所需的不同服務級別的SaaS利用服務。對需要更加經濟型SaaS利用的客戶群,可以提供第6種多租戶模型的利用,而對需要更高數據隔離和計算資源需要的客戶群,則可以提供第5種多租戶模型的利用。
(1)用戶定制
用戶可根據自己的需要自行定制利用程序;
應允許多個版本同時運行。
(2)同享實例
方便部署與管理;
易擴大;
為數據集成提供便利。
(3)利用隔離、數據隔離
下圖為多租戶使用目標場景,利用及其部署隔離、http://www.vxbq.cn/db/隔離并采取不同的http://www.vxbq.cn/db/。
例如,市場經營部門,租用業務流程和專業利用兩個業務利用。那末,市場經營人員登錄系統后,就能夠見到業務流程和專業利用兩個利用菜單,有相應權限進行業務操作,業務權限由業務利用管理員進行配置。
在信息系統設計中,系統人員存在跨部門情況,也屬于常見的現象,通常通過組織管理、角色管理來解決,而當系統逐步龐大起來后,這類解決方案將更趨于復雜,靈活性下降的情況。
如本文開始所描寫的多個獨立系統,也是Gartner第1種模型所稱為“Shared Nothing”的情況,這是逐一解決的。
而如今信息化普及情況下,信息系統愈來愈龐大、復雜,初期的內容需要整合到統1平臺上,采取“發熱級的”云技術架構,這時候,人員跨部門、虛擬團隊的解決方案就比較突出了,如何解決更公道呢?
使用多租戶技術的解決方案,嚴格的來講,不單單是技術方案,而且還包括管理方案。這樣,先從技術方案說起。
(1)在目標業務運營平臺上,應存在統1用戶賬戶服務、統1待辦任務服務、租戶服務。
統1用戶賬戶服務,是業務運營平臺上所有利用的只有1套用戶賬號和標準組織機構;
統1待辦服務,是針對流程利用的,所有流程利用的待辦,都由統1待辦服務提供;
租戶服務,是需要平臺提供的租戶租賃開通管理。
(2)以下圖所示,在租戶內容部署利用,如果某個租戶有個性化需求,則在原利用版本上個性化新版本,在新的租戶上使用。
按此原理,業務利用通常包括1個基礎版本,其他的為拓展個性化和版本,而不是1個大而全的版本,這樣,相干的人員跨部門、虛擬組織的功能,做為服務,在利用內解決。
如果,從管理方案上說。
(1)跨部門、虛擬組織,常常是臨時性的,或有期限的,這樣,從管理角度,新建租戶,為臨時組織提供相干服務;
(2)對特殊的多重身份、職能的結構和個人,則建立專用租戶,用于解決跨部門、虛擬組織的需求。
(1)用戶使用利用的進程
以下圖所示,用戶通過統1組織目錄登錄系統,獲得用戶基本信息和權限(利用菜單入口),通過菜單進入開通的利用,這時候,可以獲得此利用下的角色權限(用于處理虛擬組織),按虛擬組織角色起草公文。
(2)用戶處理待辦任務的進程
以下圖所示,用戶通過統1組織目錄登錄系統,獲得用戶基本信息和權限(利用菜單入口),通過統1待辦讀取待辦任務,在待辦任務中包括租用利用信息,由此直接定位到具體利用功能點,進入開通的利用時,可以獲得此利用下的角色權限(用于處理虛擬組織),按虛擬組織角色審批公文。
綜合上述使用進程分析,虛擬組織、人員跨部門,可以進行統1管理。統1管理的概念僅限技術層面,便于在統1業務運營平臺上利用。在業務利用是為虛擬團隊服務的視角下,應當為虛擬團隊開通租戶,為虛擬團隊部署相干業務利用;在虛擬團隊可使用某利用的視角下,在利用里建立虛擬團隊的角色組。
其中,虛擬團隊的角色組(權限群集),應進行統1管理,分配給相應的利用里。
按百度百科的定義:SaaS是Software-as-a-service(軟件即服務)。SaaS在業內的叫法是軟件運營,或稱軟營。是1種基于http://www.vxbq.cn/Internet/提供軟件服務的利用模式。1種隨著http://www.vxbq.cn/Internet/技術的發展和利用軟件的成熟,在21世紀開始興起的完全創新的軟件利用模式,是軟件科技發展的最新趨勢。
SaaS不是云計算,云計算也不等于SaaS。SaaS是云計算上的利用表現,云計算是SaaS的后端基礎服務保障。云計算將弱化SaaS門坎,增進SaaS發展。云計算利用直接剝離出去,將平臺留下,做平臺的始終做平臺,做云計算資源的人專心做好資深的調度和服務。SaaS服務商只需要關注自己的軟件功能表現,無需投入大量資金到后端基礎系統建設。
根據SaaS利用是不是具有可配置性,高性能,可伸縮性的特性,SaaS成熟度模型被分成4級。每級都比前1級增加3中特性中的1種。
可配置 | 高性能 | 可伸縮 | |
Level1 | N | N | N |
Level2 | Y | N | N |
Level3 | Y | Y | N |
Level4 | Y | Y | Y |
(1)定制開發―Level1
這類模型下,軟件服務提供商為每一個客戶定制1套軟件,并為其部署。每一個客戶使用1個獨立的http://www.vxbq.cn/db/實例和利用http://www.vxbq.cn/server/實例。http://www.vxbq.cn/db/中的數據結構和利用的代碼可能都根據客戶需求做過定制化修改。(屢次開發)
(2)可配置―Level2
通過不同的配置滿足不同客戶的需求,而不需要為每一個客戶進行特定定制,以下降定制開發的本錢。
但是,軟件的部署架構沒有太大的變化,仍然為每一個客戶獨立部署1個運行實例。只是每一個運行實例運行的是同1份代碼,通過配置的不同來滿足不同客戶的個性化需求。
可配置性的比較通用的實現方式,就是通過MetaData(元數據)來實現。(1次開發屢次部署)
(3)多租架構―Level3
多租戶單實例(Multi-Tenant)的利用架構才是通常真正意義上的SaaS利用架構,它可以有效下降SaaS利用的硬件及運行保護本錢,最大化地發揮SaaS利用的范圍效應。(1次開發1次部署)
(4)可伸縮架構―Level4
將第3級的Multi-Tenant SingleInstance系統擴大為Multi-Tenant MultiInstance。終究用戶首先通過接入Tenant Load Balance層,再被分配到不同的Instance上。通過量個Instance來分擔大量用戶的訪問,我們可讓利用實現近似無窮的水平擴大
SaaS2.0模式要求服務運營商能夠提供具有靈活定制、即時部署、快速集成的SaaS利用平臺,能夠提供基于web的利用定制、開發、部署工具,能夠實現無編程的SaaS利用、穩定、部署實現能力。
SaaS2.0模式正式企業用戶所希望的目標系統。
以下圖所示,通過軟件組件(信息發布、信息交互、信息展現、信息統計、UI復合)組裝市場競爭信息利用,組裝后的市場競爭信息利用提供給市場經營部門租戶使用。這樣的方案,最好使用SaaS2.0模式,先從架構功能說說。
(1)利用展現界面可配置或按規則調劑,比較簡易的方式是提供信息專欄模版,模版上欄目可配置;
(2)功能組件按界面接口規范、服務接口規范(Webserice)設計、開發,便于適配組裝;
(3)功能組件粒度應當適中,便于管理和組裝,可以這樣定義原則: 業務完全性、界面展現模塊化、技術服務專業性。
采取多租戶技術的平臺及軟件,系統必將復雜、靈活、多樣,給運維管理帶來1定的挑戰性。因此,在設計時計劃出運維管理,針對人員跨部門、虛擬團隊的管理,可以從人員的運維管理入手。
(1)人員變動
調劑部門、調劑崗位、轉入到不同公司是常見的運維工作。這樣,圍繞人員的調劑,管理其對應的租戶、利用模塊(利用清單)、角色、權限,以人為視角進行資源調劑,從原資源信息到目標資源信息調劑,并做好變動日志。
(2)虛擬團隊管理
從運營平臺的角度,統1的、系統的管理虛擬團隊,包括團隊成員管理、權限管理,這樣也存在多角度交叉的問題,都需要在設計時斟酌全面。
關于運維管理,限于文檔篇幅和主題,就談到這里,以后的文檔中再討論。
最后,希望本文的討論,對基于云計算技術進行企業信息化建設起到拋磚引玉的作用,由于時間匆忙,文字及邏輯欠缺的地方,方便時幫著指導12。
參考文獻:
百度百科:多租戶技術
百度百科:SaaS模式
信息化建設適應當前改革的思考――簡化流程與信息透明
下一篇 工廠模式