隨著技術(shù)的發(fā)展和各行業(yè)對(duì)云概念理解的深入,云開(kāi)始在各個(gè)層面和各個(gè)領(lǐng)域蔓延。它已經(jīng)變成一種思路、一種潮流,如云計(jì)算、云服務(wù)、云安全等。它們可以使計(jì)算能力、服務(wù)、運(yùn)營(yíng)能力及安全能力通過(guò)一個(gè)平臺(tái)集中提供并控制,并讓其成為千千萬(wàn)萬(wàn)的企業(yè)和個(gè)人可以隨需索取的東西。
如何讓云深入人們的生活?其中的關(guān)鍵在于開(kāi)放平臺(tái)的提供,它可以使云透過(guò)標(biāo)準(zhǔn)通用管道,服務(wù)于普通百姓人家。可以說(shuō),使用云能力的門檻越低、越便利,使用范圍才能越來(lái)越廣。云計(jì)算的能力開(kāi)放,不僅方便最終使用者,更是受益第三方企業(yè),他們能利用開(kāi)放的接口和服務(wù), 提供超出云計(jì)算本身能力的服務(wù)。
1 IaaS能力開(kāi)放架構(gòu)
1.1 虛擬化能力開(kāi)放
目前業(yè)界已有很多廠商可以提供虛擬化解決方案,如VMWare、 Microsoft、Citrix以及基于開(kāi)源的Xen/KVM等。各種虛擬化解決方案各有特色,但目前面臨的最大問(wèn)題是:不論是生成的虛擬化文件,還是虛擬化的管理都各自為政、互不兼容。
當(dāng)前的形式迫切需要一種標(biāo)準(zhǔn),能向所有參與者提供虛擬化應(yīng)用的方法,并且減少多個(gè)、競(jìng)爭(zhēng)性的、不兼容的實(shí)現(xiàn)所帶來(lái)的問(wèn)題。目前,分布管理任務(wù)組織已開(kāi)始使用開(kāi)放式虛擬機(jī)(OVF)格式。OVF支持多虛擬化映像格式,對(duì)于任何監(jiān)管程序的虛擬機(jī)都可以使用它引導(dǎo)程序并加載。另外,OVF引導(dǎo)程序是基于數(shù)字簽名的,確保了免費(fèi)發(fā)布和用戶的利益。
虛擬化最主要的參與廠商,像Dell、HP、IBM、微軟、VMware以及Citrix都加入了OVF,后幾者的加入表明虛擬化廠商參與的重要性,同時(shí)也增強(qiáng)了標(biāo)準(zhǔn)被廣泛采納的可能性。
中興通訊公司在虛擬化的統(tǒng)一管理方面提供了開(kāi)放的管理平臺(tái),能夠支持多種底層虛擬化環(huán)境,如圖1所示。它未來(lái)也將可以支持OVF, 并能提供用戶側(cè)的監(jiān)控與網(wǎng)管,自由創(chuàng)建、銷毀、遷移及監(jiān)測(cè)各虛擬機(jī)及上層應(yīng)用的狀態(tài)。由于虛擬機(jī)調(diào)度可能導(dǎo)致網(wǎng)絡(luò)設(shè)備以及負(fù)荷平衡設(shè)備的變化,因此將對(duì)網(wǎng)絡(luò)設(shè)備也實(shí)現(xiàn)統(tǒng)一管理。虛擬化平臺(tái)向應(yīng)用層提供可信的虛擬化開(kāi)放接口,可以讓?xiě)?yīng)用系統(tǒng)根據(jù)自身需求,動(dòng)態(tài)調(diào)度虛擬機(jī)。業(yè)務(wù)系統(tǒng)通過(guò)開(kāi)放的接口調(diào)用,就能夠?qū)崿F(xiàn)更加廣義的自動(dòng)化業(yè)務(wù)彈性可擴(kuò)展解決方案。
1.2 存儲(chǔ)能力開(kāi)放
存儲(chǔ)能力是最基本的能力之一,也是所有數(shù)據(jù)能夠被處理的基礎(chǔ)。目前的數(shù)據(jù)存儲(chǔ)主要有3種訪問(wèn)方式:文件存儲(chǔ)、對(duì)象存儲(chǔ)以及塊存儲(chǔ)。塊存儲(chǔ)與文件存儲(chǔ)面向底層接口,一般來(lái)說(shuō)對(duì)應(yīng)用透明;對(duì)象存儲(chǔ)屬于應(yīng)用層之上的軟接口[1]。
從文件系統(tǒng)的角度來(lái)看,云計(jì)算主要面向的是分布式文件系統(tǒng),它是云基礎(chǔ)架構(gòu)中最核心的元素,目前比較著名的有RedHat GFS、IBM 的GPFS及SUN的Luster。這些分布式文件系統(tǒng)對(duì)硬件設(shè)施的要求較高,往往需要存儲(chǔ)節(jié)點(diǎn)自身提供數(shù)據(jù)可靠性的保證。這類文件系統(tǒng)通常會(huì)在操作系統(tǒng)核心提供開(kāi)放接口供文件訪問(wèn)。另外一類是類似Google GFS產(chǎn)品,如開(kāi)源的HDFS、KFS、阿里巴巴的盤古文件系統(tǒng)等,此類產(chǎn)品使用廉價(jià)商用機(jī)器搭建分布式文件系統(tǒng),并在用戶態(tài)提供開(kāi)放接口。
不論何種內(nèi)部實(shí)現(xiàn)方式,分布式文件系統(tǒng)都需要提供可靠性存儲(chǔ)及可供應(yīng)用訪問(wèn)的接口。核心域?qū)崿F(xiàn)的存儲(chǔ)開(kāi)放方式主要是在操作系統(tǒng)內(nèi)核層面通過(guò)專用驅(qū)動(dòng)實(shí)現(xiàn)裸設(shè)備的暴露,操作系統(tǒng)使用通用的文件系統(tǒng)如Ext3對(duì)應(yīng)用開(kāi)放。用戶域的存儲(chǔ)開(kāi)放方式是Posix接口或?qū)S玫乃接袇f(xié)議接口。使用用戶態(tài)開(kāi)放接口有如下好處:
在用戶態(tài)文件系統(tǒng)與操作系統(tǒng)松耦合,便于單獨(dú)升級(jí),穩(wěn)定性好。
減少操作系統(tǒng)導(dǎo)致的底層交互次數(shù),降低復(fù)雜度,提高效率。
接口更豐富,能夠?qū)崿F(xiàn)更好的優(yōu)化。
安全性更好控制。
當(dāng)然,用戶態(tài)開(kāi)放也有缺點(diǎn),如接口對(duì)應(yīng)用有侵入性。如果遷移到其他存儲(chǔ)系統(tǒng)將需要重新編譯相關(guān)應(yīng)用。
對(duì)應(yīng)用戶態(tài)開(kāi)放的是通用接口方式,如網(wǎng)絡(luò)文件系統(tǒng)(NFS)、文件傳輸協(xié)議(FTP)等標(biāo)準(zhǔn)協(xié)議。由于這些標(biāo)準(zhǔn)協(xié)議制訂時(shí)并未考慮到分布式問(wèn)題,所以接口本身的分布式需要重點(diǎn)解決,即接口本身如何尋址、容錯(cuò)、負(fù)載均衡等。同時(shí)需要重點(diǎn)解決多文件共享訪問(wèn)的讀寫(xiě)鎖問(wèn)題。
中興通訊分布式文件系統(tǒng)對(duì)于通用接口方式采用動(dòng)態(tài)域名系統(tǒng)(DNS)結(jié)合接口IP虛擬化技術(shù),較好地解決尋址及容錯(cuò)問(wèn)題,并且通過(guò)服務(wù)端增加額外一層接口層實(shí)現(xiàn)了根據(jù)能力的負(fù)載均衡技術(shù)。
1.3 對(duì)象存儲(chǔ)技術(shù)
直接開(kāi)放文件系統(tǒng)的存儲(chǔ)方式比較適合私有云的構(gòu)建,對(duì)于面向公眾服務(wù)的公有云服務(wù),我們期望能夠和WEB協(xié)議(HTTP)兼容?;ヂ?lián)網(wǎng)的快速發(fā)展對(duì)存儲(chǔ)系統(tǒng)的容量、性能和功能提出了巨大挑戰(zhàn),主要表現(xiàn)為大容量、高性能、可擴(kuò)展性、可共享性、自適應(yīng)性、可管理性,以及高可靠性和可用性,目前市場(chǎng)上沒(méi)有一種解決方案可以滿足所有這些要求。對(duì)于快速升級(jí)的存儲(chǔ)需求,基于對(duì)象存儲(chǔ)(OBS)技術(shù)是一種非常有前景的解決方法,它融合了高速可直接訪問(wèn)的存儲(chǔ)網(wǎng)絡(luò)(SAN)和安全、良好跨平臺(tái)共享數(shù)據(jù)的網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)的優(yōu)點(diǎn)。通過(guò)對(duì)象存儲(chǔ)可以很好地屏蔽底層協(xié)議及網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性,對(duì)象存儲(chǔ)的具體特點(diǎn)如圖2所示。下一代互聯(lián)網(wǎng)和PB級(jí)存儲(chǔ)大規(guī)模部署迫切地期待基于對(duì)象存儲(chǔ)技術(shù)的成熟和大規(guī)模應(yīng)用。對(duì)象存儲(chǔ)設(shè)備(OSD) 可以基于獨(dú)立的設(shè)備(如OSD硬盤),也可以在分布式系統(tǒng)上構(gòu)建。為保證對(duì)象的唯一性,面向分布式系統(tǒng)時(shí)一般會(huì)劃分對(duì)象組,確保在不同對(duì)象組內(nèi)對(duì)象具有唯一性。
對(duì)象設(shè)備內(nèi)部管理元數(shù)據(jù)(空間管理)。
對(duì)象ID是訪問(wèn)該對(duì)象的唯一標(biāo)志(每個(gè)OSD設(shè)備唯一)。
圖3所示的是OSD安全模型,它是一個(gè)基于證書(shū)的訪問(wèn)控制系統(tǒng),由4個(gè)實(shí)體組成:應(yīng)用客戶端、安全服務(wù)、策略/存儲(chǔ)管理者及對(duì)象服務(wù)。
對(duì)象存儲(chǔ)一般都要包含如下操作:讀、寫(xiě)、列表、刪除、獲取元數(shù)據(jù),例如Amazon 簡(jiǎn)單存儲(chǔ)服務(wù)(S3)面向各種應(yīng)用提供了面向?qū)ο蟮腟3。
對(duì)象存儲(chǔ)主要是面向應(yīng)用開(kāi)放,目前各種系統(tǒng)接口尚未完全統(tǒng)一。提供WebService或RESTful的接口比較便于應(yīng)用的透明接入,但提供基于長(zhǎng)鏈接的定制化客戶端接入則比較容易做到高效訪問(wèn)。
中興通訊開(kāi)發(fā)的分布式鍵值訪問(wèn)系統(tǒng)就屬于典型的對(duì)象存儲(chǔ)方式。它將數(shù)據(jù)區(qū)劃分為不同的桶,每個(gè)桶內(nèi)的對(duì)象對(duì)應(yīng)唯一的鍵。通過(guò)鍵信息,可以獲取對(duì)應(yīng)的訪問(wèn)權(quán)限驗(yàn)證元數(shù)據(jù)信息和值信息。為了保證系統(tǒng)的可擴(kuò)展性,整個(gè)系統(tǒng)搭建成無(wú)主網(wǎng)絡(luò),并且可以做到元數(shù)據(jù)信息以及鍵值信息的自動(dòng)分布與備份。系統(tǒng)為提高性能,同時(shí)支持了持久化存儲(chǔ)與非持久化存儲(chǔ)機(jī)制。
1.4 塊存儲(chǔ)能力開(kāi)放
塊存儲(chǔ)將存儲(chǔ)區(qū)域劃分成固定大小的小塊,是傳統(tǒng)裸存儲(chǔ)設(shè)備的存儲(chǔ)空間對(duì)外暴露方式,如圖4所示。傳統(tǒng)設(shè)備的塊存儲(chǔ)面向的是單一的物理設(shè)備,而到了云計(jì)算環(huán)境,塊存儲(chǔ)設(shè)備也將面臨分布式環(huán)境。
在云計(jì)算中提供塊存儲(chǔ)能力對(duì)于虛擬機(jī)與存儲(chǔ)系統(tǒng)的有機(jī)結(jié)合有著其他存儲(chǔ)方式無(wú)法替代的作用[2]。因?yàn)楹芏鄳?yīng)用軟件并沒(méi)有按照云存儲(chǔ)形式進(jìn)行改造或優(yōu)化,例如大部分的數(shù)據(jù)庫(kù)軟件。如果想要在虛擬機(jī)中有效地部署并使用這些應(yīng)用,提供塊存儲(chǔ)能力必不可少。
塊存儲(chǔ)的一個(gè)問(wèn)題是安全性較差。因并非直接對(duì)應(yīng)用暴露接口,而是面向操作系統(tǒng)暴露底層設(shè)備,因此對(duì)于存儲(chǔ)的內(nèi)容往往沒(méi)有較好的辦法進(jìn)行控制。
中興通訊配合虛擬機(jī)技術(shù),實(shí)現(xiàn)了分布式的塊存儲(chǔ)訪問(wèn)模式。通過(guò)塊存儲(chǔ),能夠?qū)⒍嗯_(tái)機(jī)器上的物理存儲(chǔ)設(shè)備虛擬化,并且重新切分,分配給需要使用的虛擬機(jī)。使用塊存儲(chǔ)設(shè)備還可以很好地利用淘汰下來(lái)的舊存儲(chǔ)設(shè)備,通過(guò)存儲(chǔ)虛擬化接口層,將不同的物理底層設(shè)備接口進(jìn)行屏蔽[3-4]。
通過(guò)存儲(chǔ)虛擬化層整合各種物理存儲(chǔ)設(shè)備,并將它的內(nèi)空間按固定的大小統(tǒng)一切片。然后向客戶端提供塊存儲(chǔ)接口,并將多個(gè)切片后的小塊存儲(chǔ)區(qū)域通過(guò)存儲(chǔ)虛擬化層統(tǒng)一調(diào)度并組成客戶所需要的卷大小,如圖5所示。每個(gè)小的切片都會(huì)由接口將客戶機(jī)的塊訪問(wèn)請(qǐng)求直接映射成為物理機(jī)的塊訪問(wèn)請(qǐng)求。
1.5 IaaS能力開(kāi)放的安全性考慮
對(duì)于商業(yè)系統(tǒng)用戶來(lái)說(shuō),系統(tǒng)的高效訪問(wèn)、可靠性、易用性是其中一個(gè)方面,但最終決定是否使用云計(jì)算作為企業(yè)基礎(chǔ)服務(wù)的是能力開(kāi)放的安全性。
?。?) 特權(quán)使用者的管理
特權(quán)使用者,例如運(yùn)營(yíng)商的管理員,由于具有絕對(duì)的權(quán)力,必須嚴(yán)格監(jiān)管。
?。?) 法規(guī)的遵守
雖然云計(jì)算公司是通過(guò)運(yùn)營(yíng)商提供服務(wù),但法律法規(guī)還需要提供服務(wù)的公司遵守并承擔(dān),而非運(yùn)營(yíng)商本身。因此客觀要求不僅是服務(wù)公司必須滿足相關(guān)的法規(guī)要求,為其提供服務(wù)的運(yùn)營(yíng)商也必須滿足相關(guān)的要求才能夠避免法律風(fēng)險(xiǎn)。
?。?) 資料所在地理位置的管控
隱私保護(hù)權(quán)在各個(gè)國(guó)家和地區(qū)有所不同,作為無(wú)邊界的網(wǎng)絡(luò)服務(wù),必須有能力滿足特定地理位置下用戶的隱私規(guī)則,以保證符合服務(wù)地的法規(guī)。有些國(guó)家和地區(qū)對(duì)敏感數(shù)據(jù)的物理存儲(chǔ)地址也有限定,服務(wù)提供商必須能夠滿足這些要求。
(4) 數(shù)據(jù)的隔離
云服務(wù)面向很多用戶,因此必須保障數(shù)據(jù)的有效隔離,必要時(shí)要有能夠提供數(shù)據(jù)物理隔離的能力。
(5) 故障情況下數(shù)據(jù)的恢復(fù)能力
故障發(fā)生時(shí),如何能夠快速恢復(fù)服務(wù)與數(shù)據(jù),并有效備份數(shù)據(jù),是必須考慮的。
?。?) 對(duì)調(diào)查的支援能力
某些法律,如《薩班斯法案》中,要求所有的數(shù)據(jù)操作都有可追溯性。如果面臨審計(jì)或法律調(diào)查,服務(wù)提供商要能夠有效提供相關(guān)的操作數(shù)據(jù)。
?。?) 永久可用性
云服務(wù)的供應(yīng)商不一定可以永久地提供服務(wù),例如HP最近就停止了網(wǎng)絡(luò)相冊(cè)服務(wù)。在服務(wù)終止時(shí),將數(shù)據(jù)和服務(wù)由一個(gè)運(yùn)營(yíng)商遷移到另一個(gè)運(yùn)營(yíng)商或自己的數(shù)據(jù)中心是一個(gè)非常重要的安全性因素。
2 PaaS能力開(kāi)放架構(gòu)
2.1 基于虛擬化的業(yè)務(wù)云托管與部署
這種應(yīng)用場(chǎng)景主要是互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)的運(yùn)營(yíng)[5],典型的如Amazon的彈性計(jì)算云(EC2),能夠支持各種不同的操作系統(tǒng)以及開(kāi)發(fā)環(huán)境。這種類型的平臺(tái)一般向用戶提供了如下特性:
靈活性
系統(tǒng)一般容許用戶對(duì)運(yùn)行實(shí)例的類型、數(shù)量、占用的資源量甚至地理位置進(jìn)行相對(duì)自由的定制,并可以根據(jù)用戶需求隨時(shí)調(diào)整。
低成本
使用運(yùn)營(yíng)商提供的這種服務(wù)以后,小型企業(yè)就不必自行購(gòu)置昂貴的機(jī)器設(shè)備及網(wǎng)絡(luò)設(shè)備,可根據(jù)服務(wù)的容量及時(shí)間進(jìn)行收費(fèi)。
安全性
運(yùn)營(yíng)商一般會(huì)提供一整套的安全措施,如基于安全外殼協(xié)議(SSH)的訪問(wèn)鑒權(quán)、防火墻設(shè)置等,同時(shí)容許用戶對(duì)他們的應(yīng)用自行監(jiān)控。
易用性
運(yùn)營(yíng)商除了提供基礎(chǔ)的虛擬機(jī)服務(wù)以外,還會(huì)提供其他一些基礎(chǔ)服務(wù),如對(duì)象存儲(chǔ)、數(shù)據(jù)庫(kù)、消息管道等。應(yīng)用程序不必額外搭建這些基礎(chǔ)設(shè)施就能夠直接使用。
容錯(cuò)性
系統(tǒng)一般都提供一定的網(wǎng)絡(luò)及存儲(chǔ)容錯(cuò)機(jī)制,一旦發(fā)生故障,能夠保障數(shù)據(jù)的可靠及盡可能穩(wěn)定的用戶服務(wù)。
對(duì)外提供的訪問(wèn)接口主要有3類:
虛擬機(jī)遠(yuǎn)程訪問(wèn)接口。主要是通過(guò)統(tǒng)一驗(yàn)證的SSH服務(wù)及可靠數(shù)據(jù)協(xié)議(RDP)服務(wù)提供。
管理服務(wù)接口。提供用戶自行監(jiān)控虛擬服務(wù)集群的狀態(tài)及創(chuàng)建、刪除、調(diào)整虛擬節(jié)點(diǎn)。
業(yè)務(wù)服務(wù)訪問(wèn)接口。完全由客戶在虛擬機(jī)內(nèi)運(yùn)行的服務(wù)提供,但系統(tǒng)可以提供統(tǒng)一的安全訪問(wèn)服務(wù)。
2.2 業(yè)務(wù)能力開(kāi)放
業(yè)務(wù)開(kāi)放平臺(tái)能夠提供網(wǎng)絡(luò)或業(yè)務(wù)執(zhí)行的模塊接口。開(kāi)發(fā)者能夠通過(guò)調(diào)用開(kāi)放應(yīng)用程序編程接口(API)所提供的各種功能[6],快速集成不同的模塊,以建立新的網(wǎng)絡(luò)應(yīng)用。目前這類服務(wù)有很多,最著名的是Google的地圖服務(wù)。電信企業(yè)也能夠開(kāi)放和電信相關(guān)的一些業(yè)務(wù),例如手機(jī)的位置查詢服務(wù)、短信群發(fā)服務(wù)等;淘寶也根據(jù)自身需要,開(kāi)放了與很多用戶商品和交易相關(guān)的API。
為了讓這些不同的服務(wù)與資料快速集成,很多公司還同時(shí)提供Mashup快速開(kāi)發(fā)工具,例如Yahoo 的Pipe、Google 的Mashup Editor 以及微軟的Popfly。
在業(yè)務(wù)能力開(kāi)放平臺(tái),一般還需要設(shè)立開(kāi)發(fā)者沙箱[7],用于協(xié)助開(kāi)發(fā)者在開(kāi)發(fā)階段模擬真實(shí)系統(tǒng)操作,同時(shí)又不干擾真實(shí)系統(tǒng)的運(yùn)營(yíng)。圖6是業(yè)務(wù)能力開(kāi)放平臺(tái)的一套典型部署結(jié)構(gòu)。
業(yè)務(wù)能力開(kāi)放平臺(tái)對(duì)于客戶端的接入必須要有訪問(wèn)控制功能,一方面是客戶方的鑒權(quán)與認(rèn)證,只有經(jīng)過(guò)合法認(rèn)證的客戶方才能夠使用業(yè)務(wù)服務(wù);另一方面不同級(jí)別客戶的訪問(wèn)權(quán)限及調(diào)用頻率需要驗(yàn)證,以防錯(cuò)誤的客戶方或惡意的程序?qū)е路?wù)異常或數(shù)據(jù)異常。
2.3 在線服務(wù)托管模式
在線業(yè)務(wù)托管平臺(tái)是企業(yè)資源計(jì)劃(ERP)、客戶關(guān)系管理(CRM)或通用的服務(wù)提供商通過(guò)開(kāi)放平臺(tái),容許第三方在托管平臺(tái)上開(kāi)發(fā)自己的服務(wù)并對(duì)外提供服務(wù)。這些第三方開(kāi)發(fā)的服務(wù)有各自明確的用戶、獨(dú)立的需求,但是需要使用平臺(tái)方提供的基礎(chǔ)資源進(jìn)而對(duì)外服務(wù)。典型的如Google的App Engine、Saleforce 的force.com及ebay與淘寶的托管平臺(tái)。第三方服務(wù)共享平臺(tái)的資源、用戶和數(shù)據(jù),專心開(kāi)發(fā)需求解決方案,有效地補(bǔ)充了平臺(tái)所不具備的各種能力。例如目前eBay 有45%的商品是通過(guò)第三方應(yīng)用上架。
各平臺(tái)包含標(biāo)準(zhǔn)的服務(wù)框架、數(shù)據(jù)訪問(wèn)接口以及特定的編程語(yǔ)言支持。部署在平臺(tái)上以后,平臺(tái)可以自動(dòng)根據(jù)訪問(wèn)的熱度等分配計(jì)算資源,進(jìn)行平滑擴(kuò)展。
2.4 開(kāi)放服務(wù)接口的版本管理與動(dòng)態(tài)升級(jí)
對(duì)外服務(wù)不可避免地會(huì)涉及到接口的版本管理與升級(jí)策略,為保證服務(wù)的持續(xù)性,我們必須保證能夠在不中斷服務(wù)的情況下進(jìn)行版本升級(jí),保障不同版本客戶端之間的兼容性與可用性。圖7說(shuō)明了如何進(jìn)行向前兼容的服務(wù)接口設(shè)計(jì)及升級(jí)流程。
2.5 安全的服務(wù)開(kāi)放
保證服務(wù)穩(wěn)定可靠的關(guān)鍵是提供可信服務(wù),它有3層含義:需要有手段去驗(yàn)證服務(wù)的使用者身份,只有授權(quán)的用戶才能訪問(wèn)特定服務(wù);服務(wù)本身是可靠的,非法用戶或非法訪問(wèn)不會(huì)影響正常的用戶訪問(wèn);服務(wù)的數(shù)據(jù)保存是安全可靠的,只有可信賴的人能夠訪問(wèn)可信賴的數(shù)據(jù)。
保證訪問(wèn)安全有如下一些做法:
訪問(wèn)應(yīng)用的授權(quán)與簽名。客戶端系統(tǒng)或應(yīng)用接入云服務(wù)前,必須經(jīng)過(guò)云服務(wù)商的認(rèn)證。認(rèn)證結(jié)果以授權(quán)碼方式交給客戶方。以后的每次訪問(wèn),客戶方都需要出示授權(quán)碼,或請(qǐng)求使用授權(quán)碼進(jìn)行簽名。系統(tǒng)返回的結(jié)果也同樣由系統(tǒng)證書(shū)進(jìn)行簽名,以達(dá)到通信雙方的互信[8]。
時(shí)間戳方式。對(duì)于異步系統(tǒng),使用時(shí)間戳及唯一的客戶端ID作為請(qǐng)求的序列號(hào),系統(tǒng)返回時(shí)同樣使用相同的方式構(gòu)造序列號(hào)以進(jìn)行適配。
冪等檢查。通過(guò)客戶端生成唯一的序列號(hào),服務(wù)端可以檢測(cè)客戶端命令是否重復(fù)發(fā)送,如有重復(fù)將直接拋棄。冪等檢查可以保證所有服務(wù)請(qǐng)求都是一次性且唯一的,即使被惡意截獲并通過(guò)網(wǎng)絡(luò)設(shè)備重播,也不會(huì)執(zhí)行。
通過(guò)安全白名單進(jìn)行控制。通過(guò)白名單制度,系統(tǒng)保證只有經(jīng)過(guò)安全認(rèn)證的客戶端能夠接入,通常可以通過(guò)認(rèn)證證書(shū)實(shí)現(xiàn),這是最嚴(yán)格的訪問(wèn)限制。
如果涉及到第三方開(kāi)發(fā)的應(yīng)用,可以使用系統(tǒng)反向調(diào)用方式保證用戶輸入的認(rèn)證信息不被第三方應(yīng)用獲取,并且可以通知第三方應(yīng)用使用者是否有相關(guān)授權(quán)。
圖8說(shuō)明了用戶聯(lián)邦模式的關(guān)系,實(shí)現(xiàn)用戶聯(lián)邦模式下的統(tǒng)一用戶開(kāi)放具體步驟如下:
(1) 用戶訪問(wèn)第三方應(yīng)用。
?。?) 第三方應(yīng)用將用戶引導(dǎo)到平臺(tái)側(cè)進(jìn)行認(rèn)證。
?。?) 平臺(tái)對(duì)用戶在平臺(tái)所屬界面進(jìn)行權(quán)限認(rèn)證。
?。?) 平臺(tái)生成令牌,反向調(diào)用第三方應(yīng)用接口,將用戶、用戶令牌以及所屬授權(quán)信息交給第三方應(yīng)用。
?。?) 第三方應(yīng)用將用戶與用戶令牌綁定。
?。?) 第三方應(yīng)用需要訪問(wèn)平臺(tái)側(cè)用戶數(shù)據(jù)時(shí),出示用戶令牌,即可按用戶權(quán)限進(jìn)行訪問(wèn)。
?。?) 訪問(wèn)完成后,第三方應(yīng)用通知平臺(tái)注銷令牌。
3 SaaS能力開(kāi)放架構(gòu)
Force.com的CRM軟件巨頭Salesforce建立了企業(yè)級(jí)的云計(jì)算平臺(tái),它允許其客戶在Force.com上開(kāi)發(fā)用于內(nèi)部使用的應(yīng)用。2009年,F(xiàn)orce.com推出了一個(gè)新的分銷途徑:增值零售商(VAR)。這些VAR通常是為大公司做IT咨詢的顧問(wèn)和系統(tǒng)集成的公司,它們可以基于Force.com開(kāi)發(fā)應(yīng)用,并把這些應(yīng)用連同F(xiàn)orce.com的基礎(chǔ)數(shù)據(jù)庫(kù)打包銷售給大公司。比如,一個(gè)人力資源顧問(wèn)公司可以基于Force.com數(shù)據(jù)開(kāi)發(fā)一套招聘應(yīng)用,賣給財(cái)富500強(qiáng)。
這些VAR伙伴不僅能夠分銷Force.com的云計(jì)算平臺(tái),也能分銷諸如移動(dòng)能力、存儲(chǔ)、建站、開(kāi)發(fā)沙箱等附加功能。為Force.com平臺(tái)開(kāi)發(fā)企業(yè)級(jí)應(yīng)用的可能性非常多。目前,有超過(guò)12 萬(wàn)個(gè)圍繞Force.com開(kāi)發(fā)的應(yīng)用,如供應(yīng)鏈管理、貨物跟蹤、品牌管理、應(yīng)收賬款、投訴處理等等。
中興通訊針對(duì)電信業(yè)務(wù),打造了電信服務(wù)能力開(kāi)放平臺(tái),第三方可以通過(guò)這個(gè)平臺(tái)定制化開(kāi)發(fā)電信業(yè)務(wù)的各種能力。這個(gè)平臺(tái)還能夠?qū)㈦娦艠I(yè)務(wù)的各種原子服務(wù)進(jìn)行組合,在免編程情況下組合成為復(fù)雜業(yè)務(wù)對(duì)外提供。
中興通訊的電信能力開(kāi)放平臺(tái)主要由業(yè)務(wù)開(kāi)發(fā)環(huán)境,業(yè)務(wù)執(zhí)行環(huán)境及管理模塊構(gòu)成,如圖9 所示。
4 結(jié)束語(yǔ)
云計(jì)算作為通用的服務(wù)基礎(chǔ)設(shè)施,必須能夠被各種業(yè)務(wù)和應(yīng)用使用才能夠體現(xiàn)價(jià)值,否則只是封閉的專用系統(tǒng)。就像水和電,必須要有標(biāo)準(zhǔn)化的水管與電路才能夠引入千家萬(wàn)戶。因此云計(jì)算的各個(gè)層面,均需要進(jìn)行開(kāi)放并遵循相關(guān)的開(kāi)放標(biāo)準(zhǔn),實(shí)現(xiàn)通用的云服務(wù)。在IaaS層有OVF的虛擬化標(biāo)準(zhǔn)、標(biāo)準(zhǔn)的文件訪問(wèn)以及對(duì)象存儲(chǔ)和塊存儲(chǔ);PaaS層是業(yè)務(wù)的提供和能力開(kāi)放平臺(tái),這個(gè)層面服務(wù)本身千變?nèi)f化,但我們可以遵循一些通用的設(shè)計(jì)原則保證服務(wù)接口的平滑升級(jí)以及服務(wù)的安全提供;SaaS層面是完整的業(yè)務(wù)提供,中興通訊在這個(gè)層面關(guān)注如何提供平臺(tái),讓第三方也能夠快速開(kāi)發(fā)各種業(yè)務(wù)。
5 參考文獻(xiàn)
?。?] 劉鵬。云計(jì)算[M]。 北京:電子工業(yè)出版社,2010.
?。?] 黃然。 虛擬化格式開(kāi)放推動(dòng)虛擬化進(jìn)程[EB/OL]。(2010-01-12).http://virtual.51cto.com/art/200901/106039.htm
?。?] FACTOR M, METH K, NAOR D,et al. Object Storage: The Future Building Block for Storage Systems[C]// Local to Global Data Interoperability-Challenges and Technologies: Proceedings of the 2nd International IEEE Symposium on Mass Storage Systems and Technologies(MMST’05), Jun 20-24,2005, Sardinia, Italy. Washington, DC, USA : IEEE Computer Society, 2005:119-123.
?。?] SNIA-Storage Networking Industry Association.OSD: Object Based Storage Devices Technical Work Group[EB/OL].http://www.snia.org/tech _ activities/workgroups/osd/。
[5] 楊志強(qiáng),張炎。構(gòu)建移動(dòng)互聯(lián)網(wǎng)應(yīng)用基礎(chǔ)設(shè)施—打造“開(kāi)放花園”[J]。中興通訊技術(shù),2009,15(4):1-4.
?。?] 王英浩。網(wǎng)絡(luò)存儲(chǔ)技術(shù)初探[J]。中小企業(yè)管理與科技,2009(4):238.
?。?] 李崴?;赟AML聯(lián)邦身份管理機(jī)制研究[C]//全國(guó)第19屆計(jì)算機(jī)技術(shù)與應(yīng)用學(xué)術(shù)會(huì)議(CACIS2008),2008 年7月15-20日,樂(lè)山。
[8] KING. Salesforce推面向開(kāi)源的Force云運(yùn)算架構(gòu)[N]。 計(jì)算機(jī)世界,2008-01-19.