云計算的開放架構設計
1.5 IaaS能力開放的安全性考慮
對于商業系統用戶來說,系統的高效訪問、可靠性、易用性是其中一個方面,但最終決定是否使用云計算作為企業基礎服務的是能力開放的安全性。
(1) 特權使用者的管理
特權使用者,例如運營商的管理員,由于具有絕對的權力,必須嚴格監管。
(2) 法規的遵守
雖然云計算公司是通過運營商提供服務,但法律法規還需要提供服務的公司遵守并承擔,而非運營商本身。因此客觀要求不僅是服務公司必須滿足相關的法規要求,為其提供服務的運營商也必須滿足相關的要求才能夠避免法律風險。
(3) 資料所在地理位置的管控
隱私保護權在各個國家和地區有所不同,作為無邊界的網絡服務,必須有能力滿足特定地理位置下用戶的隱私規則,以保證符合服務地的法規。有些國家和地區對敏感數據的物理存儲地址也有限定,服務提供商必須能夠滿足這些要求。
(4) 數據的隔離
云服務面向很多用戶,因此必須保障數據的有效隔離,必要時要有能夠提供數據物理隔離的能力。
(5) 故障情況下數據的恢復能力
故障發生時,如何能夠快速恢復服務與數據,并有效備份數據,是必須考慮的。
(6) 對調查的支援能力
某些法律,如《薩班斯法案》中,要求所有的數據操作都有可追溯性。如果面臨審計或法律調查,服務提供商要能夠有效提供相關的操作數據。
(7) 永久可用性
云服務的供應商不一定可以永久地提供服務,例如HP最近就停止了網絡相冊服務。在服務終止時,將數據和服務由一個運營商遷移到另一個運營商或自己的數據中心是一個非常重要的安全性因素。
2.1 基于虛擬化的業務云托管與部署
這種應用場景主要是互聯網數據中心(IDC)的運營[5],典型的如Amazon的彈性計算云(EC2),能夠支持各種不同的操作系統以及開發環境。這種類型的平臺一般向用戶提供了如下特性:
靈活性
系統一般容許用戶對運行實例的類型、數量、占用的資源量甚至地理位置進行相對自由的定制,并可以根據用戶需求隨時調整。
低成本
使用運營商提供的這種服務以后,小型企業就不必自行購置昂貴的機器設備及網絡設備,可根據服務的容量及時間進行收費。
安全性
運營商一般會提供一整套的安全措施,如基于安全外殼協議(SSH)的訪問鑒權、防火墻設置等,同時容許用戶對他們的應用自行監控。
易用性
運營商除了提供基礎的虛擬機服務以外,還會提供其他一些基礎服務,如對象存儲、數據庫、消息管道等。應用程序不必額外搭建這些基礎設施就能夠直接使用。
容錯性
系統一般都提供一定的網絡及存儲容錯機制,一旦發生故障,能夠保障數據的可靠及盡可能穩定的用戶服務。
對外提供的訪問接口主要有3類:
虛擬機遠程訪問接口。主要是通過統一驗證的SSH服務及可靠數據協議(RDP)服務提供。
管理服務接口。提供用戶自行監控虛擬服務集群的狀態及創建、刪除、調整虛擬節點。
業務服務訪問接口。完全由客戶在虛擬機內運行的服務提供,但系統可以提供統一的安全訪問服務。
2.2 業務能力開放
業務開放平臺能夠提供網絡或業務執行的模塊接口。開發者能夠通過調用開放應用程序編程接口(API)所提供的各種功能[6],快速集成不同的模塊,以建立新的網絡應用。目前這類服務有很多,最著名的是Google的地圖服務。電信企業也能夠開放和電信相關的一些業務,例如手機的位置查詢服務、短信群發服務等;淘寶也根據自身需要,開放了與很多用戶商品和交易相關的API。
為了讓這些不同的服務與資料快速集成,很多公司還同時提供Mashup快速開發工具,例如Yahoo 的Pipe、Google 的Mashup Editor 以及微軟的Popfly。
在業務能力開放平臺,一般還需要設立開發者沙箱[7],用于協助開發者在開發階段模擬真實系統操作,同時又不干擾真實系統的運營。圖6是業務能力開放平臺的一套典型部署結構。
業務能力開放平臺對于客戶端的接入必須要有訪問控制功能,一方面是客戶方的鑒權與認證,只有經過合法認證的客戶方才能夠使用業務服務;另一方面不同級別客戶的訪問權限及調用頻率需要驗證,以防錯誤的客戶方或惡意的程序導致服務異常或數據異常。
2.3 在線服務托管模式
在線業務托管平臺是企業資源計劃(ERP)、客戶關系管理(CRM)或通用的服務提供商通過開放平臺,容許第三方在托管平臺上開發自己的服務并對外提供服務。這些第三方開發的服務有各自明確的用戶、獨立的需求,但是需要使用平臺方提供的基礎資源進而對外服務。典型的如Google的App Engine、Saleforce 的force.com及ebay與淘寶的托管平臺。第三方服務共享平臺的資源、用戶和數據,專心開發需求解決方案,有效地補充了平臺所不具備的各種能力。例如目前eBay 有45%的商品是通過第三方應用上架。
各平臺包含標準的服務框架、數據訪問接口以及特定的編程語言支持。部署在平臺上以后,平臺可以自動根據訪問的熱度等分配計算資源,進行平滑擴展。
2.4 開放服務接口的版本管理與動態升級
對外服務不可避免地會涉及到接口的版本管理與升級策略,為保證服務的持續性,我們必須保證能夠在不中斷服務的情況下進行版本升級,保障不同版本客戶端之間的兼容性與可用性。圖7說明了如何進行向前兼容的服務接口設計及升級流程。
評論