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