SaaS+架構(gòu)設(shè)計說明_第1頁
SaaS+架構(gòu)設(shè)計說明_第2頁
SaaS+架構(gòu)設(shè)計說明_第3頁
SaaS+架構(gòu)設(shè)計說明_第4頁
SaaS+架構(gòu)設(shè)計說明_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、. . .SaaS 架構(gòu)設(shè)計SaaS 架構(gòu)設(shè)計 .1SaaS 成熟度模型分級 .2RUP “ 4+1視”圖模式 (邏輯視圖 / 過程視圖 / 開發(fā)視圖 / 物理視圖 + 場景視圖 ) .3MDA(Model Driven Architecture)模型驅(qū)動架構(gòu) .3SaaS 的安全性設(shè)計 .4安全性 .4SaaS 下的安全性設(shè)計很重要。一般常見的安全性設(shè)計分為兩類:系統(tǒng)級和程序級 。 .5( 1 )系統(tǒng)級 :.5( 2 )程序級 :.5現(xiàn)在 SaaS Multi-T enant 在數(shù)據(jù)存儲上存在三種主要的方案.6( 1 )方案一 :獨立數(shù)據(jù)庫 .6( 2 )方案二 :共享數(shù)據(jù)庫 ,隔離數(shù)據(jù)架構(gòu)

2、 .6( 3 )方案三 :共享數(shù)據(jù)庫 ,共享數(shù)據(jù)架構(gòu) .7數(shù)據(jù)庫層性能優(yōu)化.8建立合適的索引 .8消除大數(shù)據(jù)表連接 .8應(yīng)用層性能優(yōu)化 : Cache .9日志記錄 .9( 1 )行為日志記錄 .10( 2 )數(shù)據(jù)日志記錄 .10( 3 )日志記錄的安全.10.專業(yè)專注. . .數(shù)據(jù)加密算法 (會犧牲一定性能 ).11基于 SaaS 云計算網(wǎng)絡(luò)性能測試指標.12( 1 )新建速率 .12( 2 )并發(fā)數(shù) .12( 3 )吞吐量 .13( 4 )響應(yīng)時間 .13SaaS 成熟度模型分級根據(jù) SaaS 應(yīng)用是否具有可配置性、高性能 、可伸縮性的特性, SaaS 成熟度模型被分成四級。每一級都比前一

3、級增加以上三種特性的一種。可配置高性能可伸縮性特點Level 1×××設(shè)備托管定制開發(fā)Level 2設(shè)備共享 、可配置××可配置化Level 3多租戶 、數(shù)據(jù)隔高性能的多租戶架構(gòu)×離、高性能( Multi-Tenant)Level 4可伸縮性的多租戶架構(gòu).專業(yè)專注.RUP “4+1 ”視圖模式 (邏輯視圖 / 過程視圖 / 開發(fā)視圖 / 物理視圖 + 場景視圖)場景視圖 :用例圖 ,描述用戶的業(yè)務(wù)場景,從用戶的角度標識出業(yè)務(wù)需求,它是架構(gòu)設(shè)計的起點和終點;邏輯視圖 :就是對象模型。邏輯視圖重點在于功能,功能包括可見的業(yè)務(wù)功能,也包括不

4、可見的系統(tǒng)功能(如日志 、權(quán)限 、事務(wù)等 )。 同時更重要的是確立邏輯分層、模塊劃分和模塊之間的依賴關(guān)系;開發(fā)視圖 :用于描述開發(fā)環(huán)境下的靜態(tài)組織。從開發(fā)環(huán)境 、技術(shù)架構(gòu) 、分層策略和目錄結(jié)構(gòu)4 個方面闡述 ;過程視圖 :聚焦在進程 、線程等運行時概念,以及相關(guān)的并發(fā)、同步 、通信等問題 。 如果本系統(tǒng)不需要考慮這些方面 ,本視圖可以省略;物理視圖 :也叫部署視圖描述軟件如何映射到硬件,反映系統(tǒng)在分布/ 部署上的設(shè)計 。MDA(Model Driven Architecture)模型驅(qū)動架構(gòu)MDA 利用元數(shù)據(jù)模型,可以方便靈活地實現(xiàn)可配置化。MDA(ModelDrivenArchitectur

5、e)是模型驅(qū)動架構(gòu),它是由OMG 定義的一個軟件開發(fā)框架。它是一種基于UML以及其他工業(yè)標準的框架,支持軟件設(shè)計和模型的可視化、存儲和交換 。 和 UML 相比, MDA 能夠創(chuàng)建出機器可讀和高度抽象的模型,這些模型獨立于實現(xiàn)技術(shù),以標準化的方式儲存。 MDA把建模語言用作一種編程語言而不僅僅是設(shè)計語言 。 MDA 的關(guān)鍵之處是模型在軟件開發(fā)中扮演了非常重要的角色。.專業(yè)專注.SaaS 的安全性設(shè)計一般常見的安全性設(shè)計分為兩類:系統(tǒng)級和程序級。系統(tǒng)級 :使用 HTTPS 協(xié)議以 SSL( Security Socket Layer)交換數(shù)據(jù) ,增強通信安全;通過數(shù)字簽名防止傳輸過程篡改;對用戶

6、身份識別的UserToken 使用 DES 算法數(shù)據(jù)加密;業(yè)務(wù)數(shù)據(jù)定時自動備份;程序集 :完整的權(quán)限配置,包括功能權(quán)限和數(shù)據(jù)權(quán)限;客戶端輸入校驗,防止 JS 攻擊、 XSS 攻擊 、 SQL 注入等 ;輔助安全設(shè)計,比如密碼控件、圖片驗證碼 、手機確認碼等;安全性安全壓倒一切。大多數(shù)用戶只是問問SaaS 廠商是不是采用了安全套接層(SSL)技術(shù) ,而安全性涵蓋的不僅僅只有這個方面 。 要向潛在的SaaS 廠商詢問下列問題: 放置服務(wù)器的數(shù)據(jù)中心有沒有24×7 全天候的物理安全措施? 數(shù)據(jù)中心有沒有得到保護(保安是不是24 小時在周圍至少巡視一次)? 誰有權(quán)訪問這些服務(wù)器(只有內(nèi)部員工

7、可以訪問,還是承包商也可以訪問? ).專業(yè)專注. 有沒有日志記錄誰何時進入、何時離開 ?如果有日志 ,那么隔多長時間審計這些日志? 應(yīng)用程序有沒有使用基于行業(yè)標準的128 位加密技術(shù) ? 如果多個客戶使用的應(yīng)用程序放在同一臺服務(wù)器上,那么它們有沒有采用邏輯或物理分隔,從而確保你的數(shù)據(jù)不被未授權(quán)的人所看到? SaaS 廠商中可以訪問你企業(yè)數(shù)據(jù)的工作人員有沒有經(jīng)過犯罪背景調(diào)查?知道被定罪的重罪犯是不能訪問你企業(yè)那些敏感的個人數(shù)據(jù),這很重要 。 廠商有沒有正規(guī)的業(yè)務(wù)連續(xù)性方案(BCP)?對方愿不愿意與你共享該方案、它能消除你的擔憂嗎?SaaS 下的安全性設(shè)計很重要。一般常見的安全性設(shè)計分為兩類:系統(tǒng)

8、級和程序級 。(1) 系統(tǒng)級:使用 HTTPS 協(xié)議以 SSL( Security Socket Layer)交換數(shù)據(jù) ,增強通信安全 ;通過數(shù)字簽名防止傳輸過程篡改;對用戶身份識別的UserToken 使用 DES 算法數(shù)據(jù)加密;業(yè)務(wù)數(shù)據(jù)定時自動備份。(2) 程序級:完整的權(quán)限配置,包括功能權(quán)限和數(shù)據(jù)權(quán)限;客戶端輸入校驗,防止 JS攻擊 、 XSS 攻擊 、SQL 注入等 ;.專業(yè)專注.輔助安全設(shè)計 ,比如密碼控件、圖片驗證碼 、手機確認碼等?,F(xiàn)在 SaaS Multi-Tenant在數(shù)據(jù)存儲上存在三種主要的方案(1) 方案一:獨立數(shù)據(jù)庫這是第一種方案,即一個 Tenant 一個 Datab

9、ase (見圖 3-14 ), 這種方案的用戶數(shù)據(jù)隔離級別最高,安全性最好,但成本也高 。優(yōu)點 :為不同的租戶提供獨立的數(shù)據(jù)庫,有助于簡化數(shù)據(jù)模型的擴展設(shè)計,滿足不同租戶的獨特需求;如果出現(xiàn)故障,恢復數(shù)據(jù)比較簡單。缺點 :增大了數(shù)據(jù)庫的安裝數(shù)量,隨之帶來維護成本和購置成本的增加。這種方案與傳統(tǒng)的一個客戶、一套數(shù)據(jù) 、一套部署類似,差別只在于軟件統(tǒng)一部署在運營商那里。如果面對的是銀行 、醫(yī)院等需要非常高數(shù)據(jù)隔離級別的租戶,可以選擇這種模式,提高租用的定價。如果定價較低,產(chǎn)品走低價路線 ,這種方案一般對運營商來說是無法承受的。(2) 方案二:共享數(shù)據(jù)庫 ,隔離數(shù)據(jù)架構(gòu)這是第二種方案,即多個或所有租

10、戶共享Database ,但一個 Tenant 一個 Schema 。.專業(yè)專注.優(yōu)點 :為安全性要求較高的租戶提供了一定程度的邏輯數(shù)據(jù)隔離,并不是完全隔離;每個數(shù)據(jù)庫可以支持更多的租戶數(shù)量。缺點 :如果出現(xiàn)故障,數(shù)據(jù)恢復比較困難,因為恢復數(shù)據(jù)庫將牽扯到其他租戶的數(shù)據(jù);如果需要跨租戶統(tǒng)計數(shù)據(jù),存在一定困難。(3) 方案三:共享數(shù)據(jù)庫 ,共享數(shù)據(jù)架構(gòu)這是第三種方案,即租戶共享同一個Database 、同一個 Schema ,但在表中通過TenantID 區(qū)分租戶的數(shù)據(jù)。這是共享程度最高、隔離級別最低的模式。優(yōu)點 :三種方案比較,第三種方案的維護和購置成本最低,允許每個數(shù)據(jù)庫支持的租戶數(shù)量最多。缺

11、點 :隔離級別最低,安全性最低 ,需要在設(shè)計開發(fā)時加大對安全的開發(fā)量;數(shù)據(jù)備份和恢復最困難,需要逐表逐條備份和還原。如果希望以最少的服務(wù)器為最多的租戶提供服務(wù),并且租戶接受以犧牲隔離級別換取降低成本,這種方案最適合 。.專業(yè)專注.數(shù)據(jù)庫層性能優(yōu)化建立合適的索引索引應(yīng)該創(chuàng)建在條件( where )、 排序 (order by )、 分組( group by)等操作所涉及的列上;索引應(yīng)該有較強的選擇性,即應(yīng)盡可能建立在重復數(shù)據(jù)少的數(shù)據(jù)列中;如果多個條件經(jīng)常需要組合起來查詢,應(yīng)合理使用聯(lián)合索引;一次查詢中只能使用一個索引,可使用相應(yīng)的分析工具分析索引效果;索引不是越多越好(一個表最好在5 個索引以內(nèi)

12、 ),過多的索引可能導致CUD (新增、修改 、刪除 )的性能降低 ,并且占用更多的空間。消除大數(shù)據(jù)表連接消除表連接的幾種解決方案解決方案適用場景示例場景業(yè) 務(wù)需 求上 可以接 受冗余 導致 的不 一訂單列表查詢時 ,希望查看到訂單的客戶名稱,冗余存儲關(guān)聯(lián)字段致,或者冗余數(shù)據(jù)可以很容易被同步更原本訂單上只記錄了客戶ID ,通過關(guān)聯(lián)客戶表查新詢客戶名稱用戶名(USER_NAME)被很多業(yè)務(wù)所關(guān)聯(lián)查變動概率不高 ,但是對于數(shù)據(jù)一致性要詢,但是也不適用于冗余方案(業(yè)務(wù)上不允許不Cache 緩存求較高一致 ,并且要保持所有冗余存儲的地方同步更新很困難 )直接刪除關(guān)聯(lián)字段不是必須包含的被關(guān)聯(lián)表的字段,可

13、以訂單列表中的產(chǎn)品型號等非關(guān)鍵字段,其實并不.專業(yè)專注.直接從列表查詢中去除一定要包含在訂單列表中對于單個數(shù)據(jù)的查詢,如果涉及多張關(guān)訂單表單中需要查詢到關(guān)聯(lián)產(chǎn)品的編碼、型號等拆分成多次查詢聯(lián)表 , 有時分多次查詢會比一次復雜的很多字段關(guān)聯(lián)查詢更為合適應(yīng)用層性能優(yōu)化:Cache其實很難說Cache 就是應(yīng)用層性能的優(yōu)化策略。因為大部分情況下, Cache 所緩存的內(nèi)容就是數(shù)據(jù)庫中存儲的內(nèi)容 。 采用 Cache 策略其實也是對數(shù)據(jù)庫層的一種優(yōu)化,因為其避免了對于數(shù)據(jù)庫的頻繁訪問。MemCached和 JBoss Cache 應(yīng)該是兩類比較典型的Cache 。MemCachedJBoss Cach

14、e1、 基于 Client/Server架構(gòu)特性基于 JGroup 多播的分布式Cache2、 只有一份數(shù)據(jù)Copy ,不需要數(shù)據(jù)同步優(yōu)勢不需要數(shù)據(jù)同步,避免復雜的多播等技術(shù)Cache 讀取基于本地Memory ,性能更高日志記錄日志記錄就是要對用戶在系統(tǒng)中的操作行為和操作的數(shù)據(jù)等進行記錄,以便對用戶在系統(tǒng)中的操作進行查證,以保證用戶行為是不可偽造的、不可銷毀的 、不可否認的 。 也就是說 ,用戶在系統(tǒng)中的行為是有據(jù)可查的,不能在系統(tǒng)中偽造自己的行為,或者偽造其他用戶的行為;同時 ,用戶是不能銷毀這些證據(jù)的,不能否認自己的.專業(yè)專注.行為 。日志記錄具體包括兩部分:行為日志記錄和數(shù)據(jù)日志記錄。

15、(1) 行為日志記錄行為日志記錄就是要對用戶在系統(tǒng)中所訪問的每一個頁面,在各頁面中所做的每一個行為都記錄下來,記錄用戶的身份和行為的時刻。例如 ,租戶 A 的用戶 A1 在 2011 年 7 月 13 日 17:07:50 訪問了 XXX 系統(tǒng)的重要客戶列表頁面,做了刪除客戶信息的操作 。行為日志記錄的實現(xiàn),可以采用面向方法的方案來實現(xiàn),例如 ,通過過濾器或攔截器的方式( Spring前置裝備), 來對所有的頁面請求行為及頁面里的提交行為多進行攔截,然后將其記錄在日志文件里或數(shù)據(jù)庫里。行為日志記錄是辨別用戶在系統(tǒng)中行為的一個重要依據(jù),對于系統(tǒng)使用與系統(tǒng)運營分開的SaaS 系統(tǒng)就顯得尤為重要。(

16、2) 數(shù)據(jù)日志記錄數(shù)據(jù)日志記錄,就是要對用戶在系統(tǒng)中所操作的數(shù)據(jù)進行記錄,記錄數(shù)據(jù)的變更過程及變更的歷史。這在多人操作同一個數(shù)據(jù)的系統(tǒng)中顯得尤為重要。可以通過流程引擎記錄流程日志。例如 ,用戶 A 在財務(wù)系統(tǒng)中提交了一張財務(wù)報銷單,報銷金額是1000 元,在經(jīng)過了用戶B、C、 D 等一系列人的修改和審批后,用戶 A 看到的報銷金額變成了500 元,如果沒有報銷金額的變更日志記錄,用戶 A 一定會很疑惑,是誰因為什么原因修改了這個報銷金額。那么 ,系統(tǒng)就很有必要對報銷金額的變更進行日志記錄。(3) 日志記錄的安全日志記錄是對用戶在系統(tǒng)中行為進行查證的依據(jù),是用來跟蹤和保障系統(tǒng)安全的,那么 ,日志

17、記錄本身的安全性也是需要重點考慮的。.專業(yè)專注.首先 ,日志記錄應(yīng)該是只讀的,最好能加上時間戳,不應(yīng)該被認為修改或者偽造;其次 ,日志記錄涉及用戶的隱私 ,應(yīng)該是保密的 ,要防止被非法使用。租戶的日志只向Tenant 管理員開發(fā) ,并且 Tenant 管理員也只能查詢租戶自己的日志。數(shù)據(jù)加密算法 (會犧牲一定性能)1、 使用 AES 對稱加密算法;2、 每個企業(yè)生成一個數(shù)據(jù)密鑰(生成后不能改變,否則先前加密過的數(shù)據(jù)無法進行解密);3、 企業(yè) key 是利用企業(yè)管理員的密碼明文去加密存儲的,這就要求每個企業(yè)在建立時,必須先建立一個管理員;4、 該企業(yè)下的每個用戶使用其自身的登錄密碼原文對數(shù)據(jù)密碼

18、進行AES 加密 ,并存儲到用戶表中。(密鑰加密);5、 用戶保存敏感數(shù)據(jù)時,使用以準備好的密鑰對數(shù)據(jù)進行AES 加密;加/解密過程 :1、 企業(yè)注冊時 ,為企業(yè)生成一個唯一的key ,存放于企業(yè)表中;2、 用戶注冊后 ,用戶表中存放一個利用用戶密碼明文加密過的企業(yè)key ;3、 用戶登錄后 ,通過密碼明文 ,解密出企業(yè)key,并存放到相應(yīng)位置,待加 / 解密時使用 ;4、 用戶修改密碼時,要使用原密碼將企業(yè)key 解密 ,并用新密碼重新加密保存;.專業(yè)專注.基于 SaaS 云計算網(wǎng)絡(luò)性能測試指標衡量云計算的網(wǎng)絡(luò)性能根據(jù)使用的網(wǎng)絡(luò)設(shè)備不同擁有很多指標。最常見最關(guān)鍵的性能指標包括以下幾項:新建速

19、率 ( CPS)、 并發(fā)數(shù) ( CC)吞吐量 ( GoodPut )、 響應(yīng)時間 (Response Time )。(1) 新建速率新建速率指通過數(shù)據(jù)中心中間網(wǎng)絡(luò)每秒可以處理的TCP Session速率 ,單位為CPS( ConnectionsPerSecond )。新建速率中的“新建 ”是指一個TCP Session 成功建立并關(guān)閉的整個過程,將 TCP 關(guān)閉方式選擇使用TCP FIN 報文觸發(fā)的 4 次握手關(guān)閉方式。此種方式最符合當前普遍的網(wǎng)絡(luò)協(xié)議應(yīng)用模型。在部分特殊業(yè)務(wù)需求的測試場景下,還可以采用TCP RESET方式進行快速會話關(guān)閉,以檢驗網(wǎng)絡(luò)系統(tǒng)能夠支持的極限性能。新建速率指標將主要

20、體現(xiàn)數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備的CPU 運算處理能力 。 對新建速率測試開始前,應(yīng)記錄網(wǎng)絡(luò)處理設(shè)備的CPU/Memory等關(guān)鍵性能指標,測試過程中和結(jié)束后對這些指標進行監(jiān)控,實時了解整個網(wǎng)絡(luò)的運行情況。(2) 并發(fā)數(shù)并發(fā)數(shù)指通過數(shù)據(jù)中心中間網(wǎng)絡(luò)可以同時并發(fā)存在的最大TCP Session數(shù)量 , 單位為CC( CurrentConnections)。并發(fā)數(shù)指標體現(xiàn)了整網(wǎng)會話保持與表項存儲的能力,與網(wǎng)絡(luò)處理設(shè)備的內(nèi)存大小有直接關(guān)系。對于并發(fā)數(shù)指標測試來說,尤其需要關(guān)注其上層協(xié)議的具體應(yīng)用,一個 Telnet 連接保持1 小時與一個http 連接保持 1 小時在協(xié)議處理流程上是有很大不同的,應(yīng)盡量根據(jù)實際網(wǎng)絡(luò)中的業(yè)務(wù)流量設(shè)計測試模型。.專業(yè)專注.(3) 吞吐量吞吐量指當前網(wǎng)絡(luò)可以有效傳輸?shù)淖畲骽ttp數(shù)據(jù)量 ,也被稱為有效吞吐GoodPut ,區(qū)別于傳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論