Transcript ch09

第九章 雲端運算軟體架構設計
本章目標
 本章首先介紹雲端運算軟體架構設計的意義與模式,
並指出設計要點。其次,介紹多租戶架構設計與模式、
雲端SOA架構概念與發展。最後,舉出幾個著名
SaaS/PaaS服務的軟體設計邏輯。
 透過本章,讀者應能了解雲端運算中,多租戶架構與
SOA架構扮演的角色及軟體架構設計方向。
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
大綱
 9-1 雲端運算軟體架構設計概念
 9-2 多租戶架構概念與發展
 9-3 雲端SOA架構概念與發展
 9-4 雲端軟體架構實現實務
 9-5 小結
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
9-1 雲端運算軟體架構設計概念
 意義
 架構設計模式
 多租戶架構模式
 資料模式
 計算模式
 交易模式
 整合模式
 資訊安全模式
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
雲端運算軟體架構需求
技術需求
服務需求
如何滿足使用者在使用者介面、 市場服務
商業邏輯、資料模型、資料格
(Market
(Configuration)
式、執行績效等不同需求?
Service)
管理服務
可靠性
如何確保服務的可靠性? 不容
(Management
(Reliability) 易中斷? 可快速復原?
可調配
Service)
延展性
(Scalability)
整合
(Integration)
資訊安全
(Security)
標準
(Standard)
如何滿足計價、計費、服務水準
管理、簽約、服務目錄、商場管
理等需求
如何滿足監控服務運行狀況、績
效、費用、錯誤處理、自我操作
等需求
如何依服務的資源消耗需求, 開發服務 如何提供開發工具、商業元件、
擴展資源,以提升服務的執行 (Development 支持語言、應用程式生命週期管
效率或減低資源浪費
理等需求
Service)
整合服務 如何提供各種資料整合、流程整
如何讓服務可以與外界設備、
(Integration 合、設備整合等工具與元件以滿
系統、服務容易整合
足服務整合需求
Service)
如何提供存取服務、資料的授
權、認證、加密等各種層次的
應用服務 提供不同應用軟體服務需求,如:
安全
(Application CRM Service, ERP Service,
是否提供開放的應用程式介面?
Database Service…
Service)
標準的資料格式? 標準的商業
格式?
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
雲端運算軟體架構設計模式
模式
說明
 讓分享硬體資源的軟體、租戶可以各自隔離、不受干擾地使用
資源。
多租戶架構模式  各種多租戶架構模式不但可以隔離資料使用、隔離執行績效、
隔離資訊安全、隔離商業邏輯等,進一步可根據不同租戶需求,
進行調配與客製化服務
 雲端運算軟體資料模型設計要重新思考原關聯式資料模式
資料模式
 考量延展性、資料分割、動態資料結構、本地交易、資料查詢
等設計
計算模式
交易模式
整合模式
資訊安全模式
 考慮無狀態計算、訊息佇列、大量資料處理等設計
 牽涉跨遠端的兩個服務或資料的交易,則必須謹慎處理分散式
交易的問題
 考慮異質、不同回應速度的雲端服務間的整合設計
 非同步訊息交換方式、SOA服務整合方式
 除傳統網路軟體程式資訊安全外,考慮租戶間攻擊、行動載具、
跨雲端服務整合等資安管理問題
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
典型關聯式表格設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
依租戶別資料分割設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
依應用別資料分割設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
彈性資料結構
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
無狀態計算模式設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
非同步訊息交換計算模式設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
大量資料計算模式設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
資訊安全模式設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
9-2 多租戶架構概念與發展
 意義
 SaaS成熟模型
 系統層次
 資料層次
 服務層次
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
意義
 多租戶架構即是在各種不同軟硬體資源分享的前提下,
設計各種隔離、客製化、安全保護的解決方案
 雲端運算軟體架構設計者必須仔細規劃:



如何隔離租戶間干擾?
如何滿足租戶個殊化需求?
如何避免資訊安全問題?
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
SaaS成熟模型
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
系統層次-多租戶架構系統模型
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
資料層次-多租戶架構資料模型
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
預設欄位表格設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
自訂欄位表格設計
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
服務層次
 多租戶架構服務層次可以從兩個面向來檢視:(1) 如何
滿足租戶不同的應用服務的邏輯? (2) 如何滿足租戶不
同的服務整合需求?
 應用服務的邏輯包括:




使用者介面邏輯(UI, User Interface)
流程邏輯(Process)
服務邏輯(Service)
資料邏輯(Data)
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
客製化與可調配需求
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
客製化關係模型
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
9-3 雲端SOA架構概念與發展
 SOA架構概念
 意義
 服務叫用模式
 服務設計方式
 溝通介面標準
 SOA與雲端運算發展趨勢
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
SOA基本概念
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Request-Response模式
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Request-Response via Service Registry模式
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Subscribe-Push 模式
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Probe-Match 模式
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
SOA服務設計兩種途徑
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
SOAP傳遞方式
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
REST傳遞方式
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
XML, JSON格式比較
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
SOA與雲端運算關係
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
ESB雲端運算架構
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
多租戶服務擴充
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
多租戶服務辨識
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
多租戶流程客製
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
9-4 雲端軟體架構實現實務
 Salesforce.com
 Epicor ERP
 Cloud Foundry
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Force.com資料架構
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Epicor ERP產品架構
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Epicor SOA & BPM架構
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑
Cloud Foundry架構
9-1
9-2
9-3
9-4
Cloud Computing.黃正傑