業(yè)務(wù)交付平臺(tái)(SDP)是電信設(shè)備提供商為電信運(yùn)營(yíng)商提供的增值業(yè)務(wù)解決方案,,用于第三方基于平臺(tái)快速進(jìn)行增值業(yè)務(wù)的開(kāi)發(fā)和交付,。該平臺(tái)提供從業(yè)務(wù)開(kāi)發(fā)、執(zhí)行,、測(cè)試,、部署和管理等各個(gè)階段的完整解決方案,對(duì)外開(kāi)放電信業(yè)務(wù)能力,,并支持與第三方的系統(tǒng)或應(yīng)用的對(duì)接和集成,。SDP在電信領(lǐng)域已經(jīng)是一個(gè)比較成熟的產(chǎn)品,它吸引了大批的業(yè)務(wù)提供商(SP)和專(zhuān)業(yè)開(kāi)發(fā)團(tuán)隊(duì)基于平臺(tái)所開(kāi)放的業(yè)務(wù)能力應(yīng)用程序編程接口(API)來(lái)開(kāi)發(fā)豐富的增值業(yè)務(wù),。然而,,基于SDP的業(yè)務(wù)交付方案是一種電信領(lǐng)域內(nèi)的專(zhuān)業(yè)性行為,對(duì)平臺(tái)的使用人員而言,,有其必需的專(zhuān)業(yè)性要求,,而普通的個(gè)人開(kāi)發(fā)者或非專(zhuān)業(yè)人員難以參與其中。在服務(wù)社會(huì)化的今天,,這種高門(mén)檻的要求也限制了SDP平臺(tái)所能產(chǎn)生的價(jià)值[1-2],。
云計(jì)算技術(shù)[3-5]的發(fā)展和成熟,為SDP平臺(tái)的優(yōu)化提供了新的思路,。云計(jì)算技術(shù)以服務(wù)為理念,,提供了3種不同層次上的服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS)[6-7]、平臺(tái)服務(wù)(PaaS)和軟件即服務(wù)(SaaS)[8-9],。其中,,PaaS將軟件計(jì)算與業(yè)務(wù)能力進(jìn)行抽象,形成通用的API,,對(duì)外提供服務(wù)接口,,而且還支持應(yīng)用的托管式集中部署和運(yùn)行,在降低業(yè)務(wù)開(kāi)發(fā)難度的同時(shí)降低了服務(wù)提供的成本,。目前,,公有PaaS云平臺(tái)在技術(shù)上和商業(yè)模式上已逐步成熟,,google的GAE[10]和新浪的SAE是其中的典型代表。
電信SDP和云計(jì)算PaaS平臺(tái)的構(gòu)建目標(biāo)是一致的,,即開(kāi)放能力服務(wù),,提供應(yīng)用開(kāi)發(fā)和執(zhí)行環(huán)境,提高應(yīng)用開(kāi)發(fā)效率,,縮短應(yīng)用上線時(shí)間,。另一方面,PaaS平臺(tái)具備存儲(chǔ)與計(jì)算能力開(kāi)放接口,、應(yīng)用托管,、應(yīng)用實(shí)例彈性可擴(kuò)展等特征的服務(wù)模式和理念,這使得SDP和PaaS的結(jié)合變得尤為必要,,并且形成了一種電信域增值業(yè)務(wù)交付的新方案,,即SDPaaS云平臺(tái),。
SDPaaS云平臺(tái)是電信SDP和云計(jì)算PaaS的融合,,是在傳統(tǒng)SDP的技術(shù)基礎(chǔ)上,結(jié)合云計(jì)算的技術(shù)特性,,以服務(wù)為理念而實(shí)現(xiàn)的新的解決方案,。它針對(duì)信息通信技術(shù)(ICT)網(wǎng)絡(luò)融合的大環(huán)境,在支持第三方開(kāi)發(fā)人員快速開(kāi)發(fā)和交付業(yè)務(wù)的基礎(chǔ)上,,進(jìn)一步實(shí)現(xiàn)了業(yè)務(wù)自動(dòng)部署和托管運(yùn)行,、專(zhuān)業(yè)化集中式維護(hù)等功能,是對(duì)傳統(tǒng)電信增值業(yè)務(wù)交付方案的一種拓展,,為創(chuàng)建良好的電信增值業(yè)務(wù)生態(tài)環(huán)境提供了必需的技術(shù)支撐,。
1SDPaaS云平臺(tái)系統(tǒng)架構(gòu)
SDPaaS云平臺(tái)構(gòu)建的主旨是提供一種社會(huì)化的平臺(tái)服務(wù),使得專(zhuān)業(yè)的增值業(yè)務(wù)開(kāi)發(fā)團(tuán)隊(duì)和普通開(kāi)發(fā)者都能基于平臺(tái)進(jìn)行ICT融合服務(wù)的創(chuàng)新,,并降低服務(wù)創(chuàng)新的難度及服務(wù)創(chuàng)新的成本,。圖1為SDPaaS云平臺(tái)的總體架構(gòu),該方案采用松耦合,、組件化的理念設(shè)計(jì),。
BSS:業(yè)務(wù)支撐系統(tǒng)
OSS:運(yùn)營(yíng)支撐系統(tǒng)
SLA:服務(wù)等級(jí)協(xié)議
圖1 SDPaaS云平臺(tái)系統(tǒng)架構(gòu)圖
SDPaaS云平臺(tái)主要由開(kāi)發(fā)者社區(qū)、應(yīng)用開(kāi)發(fā)測(cè)試環(huán)境,、應(yīng)用執(zhí)行環(huán)境,、資源匯聚網(wǎng)關(guān)、能力引擎,、托管環(huán)境和管理平臺(tái)七大部分組成,,該平臺(tái)可以為應(yīng)用開(kāi)發(fā)者(AP)提供應(yīng)用開(kāi)發(fā)、測(cè)試,、發(fā)布,、運(yùn)維相關(guān)的資源和服務(wù),,同時(shí)支持資源提供者(RP)接入新的能力資源到SDPaaS平臺(tái)中。
SDPaaS云平臺(tái)可以靈活部署,,和IaaS沒(méi)有必然的依賴(lài)關(guān)系,。SDPaaS可以部署在IaaS提供的設(shè)備之上,此時(shí)利用IaaS的設(shè)備管理能力可以實(shí)現(xiàn)底層設(shè)備資源的管理,,也可以直接部署在物理設(shè)備上,,由SDPaaS本身實(shí)現(xiàn)對(duì)底層設(shè)備的管理功能。當(dāng)然,,基于虛擬化技術(shù)的應(yīng)用托管可以有效降低應(yīng)用托管的成本,。
(1) 開(kāi)發(fā)者社區(qū)
開(kāi)發(fā)者社區(qū)一方面可以讓?xiě)?yīng)用開(kāi)發(fā)者學(xué)習(xí)如何開(kāi)發(fā)應(yīng)用、獲取相關(guān)資源等,;另一方面,,應(yīng)用開(kāi)發(fā)者可以將自己開(kāi)發(fā)出來(lái)的應(yīng)用通過(guò)運(yùn)營(yíng)商的發(fā)布渠道進(jìn)行銷(xiāo)售,而開(kāi)發(fā)者社區(qū)提供相應(yīng)的自助服務(wù)功能,。
開(kāi)發(fā)者社區(qū)主要包括開(kāi)發(fā)者注冊(cè),、能力超市、資源下載,、應(yīng)用發(fā)布管理和論壇等功能,。
(2) 應(yīng)用開(kāi)發(fā)測(cè)試環(huán)境
SDPaaS應(yīng)用開(kāi)發(fā)環(huán)境滿(mǎn)足應(yīng)用開(kāi)發(fā)者簡(jiǎn)易快速地完成應(yīng)用邏輯生成、編譯的功能要求,,業(yè)務(wù)開(kāi)發(fā)環(huán)境有離線業(yè)務(wù)開(kāi)發(fā)環(huán)境和在線業(yè)務(wù)開(kāi)發(fā)環(huán)境兩種,。從應(yīng)用種類(lèi)上講,SDPaaS應(yīng)用開(kāi)發(fā)環(huán)境可以支持系統(tǒng)類(lèi)的應(yīng)用,,也可以支持移動(dòng)終端上的應(yīng)用,,例如Android應(yīng)用。
● 在線業(yè)務(wù)開(kāi)發(fā)環(huán)境
應(yīng)用開(kāi)發(fā)者可通過(guò)Web頁(yè)面在線進(jìn)行應(yīng)用開(kāi)發(fā),,無(wú)需安裝客戶(hù)端環(huán)境,。在線業(yè)務(wù)開(kāi)發(fā)環(huán)境主要用于以創(chuàng)意為主并且應(yīng)用邏輯簡(jiǎn)單的應(yīng)用開(kāi)發(fā),比如功能相對(duì)簡(jiǎn)單的融合應(yīng)用或者基于內(nèi)容聚合的移動(dòng)應(yīng)用,。它主要面向?qū)Τ绦蛘Z(yǔ)言不太熟悉的開(kāi)發(fā)者,,并且對(duì)開(kāi)發(fā)者的技能沒(méi)有太高要求。
● 離線業(yè)務(wù)開(kāi)發(fā)環(huán)境
應(yīng)用開(kāi)發(fā)者需要下載并安裝客戶(hù)端環(huán)境,,對(duì)開(kāi)發(fā)者有一定的硬件配置要求,。對(duì)于應(yīng)用邏輯復(fù)雜、功能要求復(fù)雜的應(yīng)用,,特別是需要開(kāi)發(fā)者自行擴(kuò)展較多組件的應(yīng)用,,可以使用離線的業(yè)務(wù)開(kāi)發(fā)環(huán)境來(lái)開(kāi)發(fā)。離線業(yè)務(wù)開(kāi)發(fā)環(huán)境主要面向熟悉編程語(yǔ)言的專(zhuān)業(yè)開(kāi)發(fā)者,。
離線業(yè)務(wù)開(kāi)發(fā)環(huán)境提供圖形化的開(kāi)發(fā)界面和軟件開(kāi)發(fā)工具包(SDK),,開(kāi)發(fā)者可以根據(jù)自己的使用習(xí)慣選擇使用圖形化的開(kāi)發(fā)界面,,或者基于SDK進(jìn)行應(yīng)用開(kāi)發(fā)。
應(yīng)用測(cè)試環(huán)境(STE)提供業(yè)務(wù)模擬測(cè)試環(huán)境,,應(yīng)用開(kāi)發(fā)者可以進(jìn)行端到端的模擬測(cè)試,,并可以查看應(yīng)用模擬運(yùn)行結(jié)果。
(3) 應(yīng)用執(zhí)行環(huán)境
應(yīng)用執(zhí)行環(huán)境負(fù)責(zé)提供應(yīng)用運(yùn)行所必需的容器或沙箱,,它是應(yīng)用運(yùn)行時(shí)的環(huán)境,,也是應(yīng)用隔離的實(shí)現(xiàn)保證。第三方應(yīng)用的執(zhí)行或者二次編排的組合能力的執(zhí)行,,都需要應(yīng)用執(zhí)行環(huán)境進(jìn)行控制和檢測(cè),,并將應(yīng)用的運(yùn)行狀態(tài)和資源使用情況等參數(shù)上報(bào)給管理平臺(tái)。
應(yīng)用執(zhí)行環(huán)境根據(jù)應(yīng)用的種類(lèi)分為java應(yīng)用執(zhí)行環(huán)境,、dotnet應(yīng)用執(zhí)行環(huán)境以及基于SOA中間件的應(yīng)用執(zhí)行環(huán)境,。應(yīng)用執(zhí)行環(huán)境可以運(yùn)行在物理機(jī)上,也可以運(yùn)行在虛擬化平臺(tái)提供的虛擬機(jī)之上,。
(4) 資源匯聚網(wǎng)關(guān)
資源匯聚網(wǎng)關(guān)負(fù)責(zé)封裝能力引擎所提供的能力服務(wù)接口,,并以通用的服務(wù)接口方式暴露出來(lái),它為應(yīng)用開(kāi)發(fā)者提供統(tǒng)一的開(kāi)放接口,。資源匯聚網(wǎng)關(guān)可匯聚電信能力,、互聯(lián)網(wǎng)能力,,并提供開(kāi)發(fā)工具供開(kāi)發(fā)者編排出新的能力,。
資源匯聚網(wǎng)關(guān)上匯聚的能力可以動(dòng)態(tài)擴(kuò)展。資源提供者可通過(guò)管理平臺(tái)提交新的資源接口,,并通過(guò)審核的資源將自動(dòng)加載到資源匯聚網(wǎng)關(guān)上,,這樣便可實(shí)現(xiàn)動(dòng)態(tài)加載,且不會(huì)影響現(xiàn)有能力資源和應(yīng)用的運(yùn)行,。
資源匯聚網(wǎng)關(guān)是能力調(diào)用的入口,,它可以在管理平臺(tái)的配合下,由資源匯聚網(wǎng)關(guān)負(fù)責(zé)對(duì)能力調(diào)用的請(qǐng)求進(jìn)行認(rèn)證,、鑒權(quán)和計(jì)費(fèi),。
(5) 能力引擎
能力引擎負(fù)責(zé)平臺(tái)所提供的能力的實(shí)現(xiàn)。對(duì)于傳統(tǒng)的電信業(yè)務(wù)能力,,能力引擎負(fù)責(zé)電信業(yè)務(wù)能力的適配,,并通過(guò)與多種電信網(wǎng)元按照標(biāo)準(zhǔn)的電信協(xié)議進(jìn)行交互,從而實(shí)現(xiàn)電信業(yè)務(wù)能力,。對(duì)于互聯(lián)網(wǎng)業(yè)務(wù)能力,、IT能力和其他的業(yè)務(wù)能力,能力引擎的主要作用是接口適配,。當(dāng)然,,對(duì)于接口已經(jīng)是Webservice等通用形式的能力,,也可以不需要能力引擎的適配,直接由資源匯聚網(wǎng)關(guān)進(jìn)行集成,。
(6) 管理平臺(tái)
管理平臺(tái)提供SDPaaS云的管理門(mén)戶(hù)和后臺(tái)管理服務(wù),,包括AP管理、RP管理,、工作流管理,、資源管理和簽約管理等功能,實(shí)現(xiàn)了應(yīng)用從提交,、審核,、部署到發(fā)布全生命周期的管理,
管理平臺(tái)還負(fù)責(zé)向開(kāi)發(fā)者社區(qū),、應(yīng)用開(kāi)發(fā)測(cè)試環(huán)境,、應(yīng)用執(zhí)行環(huán)境和資源匯聚網(wǎng)關(guān)同步數(shù)據(jù),開(kāi)發(fā)出的應(yīng)用可以通過(guò)管理平臺(tái)發(fā)布到應(yīng)用商店,。
此外,,管理平臺(tái)需要和業(yè)務(wù)支撐系統(tǒng)(BSS)/運(yùn)營(yíng)支撐系統(tǒng)(OSS)、應(yīng)用商店等外部網(wǎng)元進(jìn)行交互,,以便實(shí)現(xiàn)網(wǎng)管,、計(jì)費(fèi)、應(yīng)用交易等功能,。
(7) 托管環(huán)境
應(yīng)用托管環(huán)境是應(yīng)用部署和運(yùn)行的物理環(huán)境,。在應(yīng)用測(cè)試完畢后,開(kāi)發(fā)者可以根據(jù)應(yīng)用運(yùn)行的實(shí)際需要申請(qǐng)應(yīng)用部署所需的資源和服務(wù),,包括需要部署的應(yīng)用實(shí)例數(shù)量,、應(yīng)用實(shí)例的動(dòng)態(tài)調(diào)整策略和應(yīng)用的生命周期等。審批通過(guò)后,,系統(tǒng)根據(jù)應(yīng)用的類(lèi)型和所需要的執(zhí)行環(huán)境,,自動(dòng)打包并生成應(yīng)用的虛擬機(jī)模板(即鏡像文件),并加載到虛擬機(jī)中并完成啟動(dòng),。通過(guò)這些簡(jiǎn)單方便的操作,,就可以用最快的速度完成應(yīng)用的部署并即刻開(kāi)始提供服務(wù)。當(dāng)然,,如果是通用的業(yè)務(wù)運(yùn)行環(huán)境,,應(yīng)用托管系統(tǒng)也可以預(yù)先準(zhǔn)備好應(yīng)用模板,再通過(guò)應(yīng)用開(kāi)發(fā)者加載應(yīng)用的開(kāi)發(fā)包到模板之中,,這樣以來(lái)應(yīng)用部署的時(shí)間將進(jìn)一步縮短,。
2SDPaaS云平臺(tái)關(guān)鍵技術(shù)及其解決方案
SDPaaS云平臺(tái)是傳統(tǒng)電信域能力開(kāi)放與云計(jì)算技術(shù)的結(jié)合,主要涵蓋了以下關(guān)鍵技術(shù),。
2.1 能力集成與開(kāi)放
服務(wù)能力集成與開(kāi)放是云平臺(tái)服務(wù)需要解決的關(guān)鍵問(wèn)題之一,。SDPaaS平臺(tái)需要對(duì)外提供包括電信能力,、互聯(lián)網(wǎng)能力和IT能力在內(nèi)的多種能力服務(wù)接口,并實(shí)現(xiàn)參數(shù)封裝與映射,、接口鑒權(quán),、SLA控制、消息路由和資源有效性監(jiān)控等功能,,從技術(shù)實(shí)現(xiàn)上講,,需要重點(diǎn)考慮以下內(nèi)容:
(1) 接口封裝與適配
接口封裝基于面向服務(wù)的體系結(jié)構(gòu)(SOA)架構(gòu),并采用互聯(lián)網(wǎng)通用的接口服務(wù)形式,,提供基于簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)的Webservice和RESTful Webservice等多種形式,,從實(shí)現(xiàn)語(yǔ)言的角度,支持java,、C和Android等多種編程語(yǔ)言,。
(2) 接口鑒權(quán)
應(yīng)用在調(diào)用資源匯聚網(wǎng)關(guān)能力接口時(shí),平臺(tái)需要根據(jù)應(yīng)用所攜帶的信息,,如資源的應(yīng)用標(biāo)志(APPID)和開(kāi)發(fā)者標(biāo)志(APID)等對(duì)接口調(diào)用進(jìn)行鑒權(quán)和認(rèn)證,,判斷應(yīng)用是否有權(quán)限來(lái)使用相應(yīng)的能力資源。
(3) SLA控制
SLA控制是平臺(tái)即服務(wù)的一個(gè)重要特征,,它允許不同的應(yīng)用申請(qǐng)不同水平的服務(wù)策略(能力許可,、流量控制)。平臺(tái)則會(huì)根據(jù)這些策略對(duì)應(yīng)用的接入請(qǐng)求進(jìn)行控制,,并確保業(yè)務(wù)能力調(diào)用的服務(wù)質(zhì)量,。對(duì)于違反SLA中規(guī)定的請(qǐng)求予以拒絕,并返回對(duì)應(yīng)的異常錯(cuò)誤代碼,,并記錄日志,。
(4) 消息路由
注冊(cè)到平臺(tái)的能力接口,,有從網(wǎng)絡(luò)側(cè)發(fā)起的上行消息,,也有從應(yīng)用側(cè)發(fā)起的下行請(qǐng)求,平臺(tái)需要根據(jù)該消息類(lèi)型和接口規(guī)范來(lái)實(shí)現(xiàn)消息的分發(fā)和路由,。同時(shí),,在存在多個(gè)能力引擎的情況下,還需要根據(jù)一定的路由策略實(shí)現(xiàn)下行消息的分發(fā),。
(5) 資源有效性監(jiān)控
平臺(tái)需要對(duì)能力資源的狀態(tài)進(jìn)行監(jiān)控,,當(dāng)對(duì)能力引擎的調(diào)用出現(xiàn)連續(xù)異常,且次數(shù)超過(guò)系統(tǒng)配置值時(shí),,資源匯聚網(wǎng)關(guān)會(huì)向管理平臺(tái)上報(bào)該資源異常,。資源異常的情況包括:資源響應(yīng)時(shí)長(zhǎng)超過(guò)警界值、資源無(wú)法連接等,。
(6) 能力編排
平臺(tái)需要提供可視化的能力編排工具,,該工具能夠?qū)⒍喾N下層網(wǎng)元提供的能力接口按照一定的邏輯進(jìn)行編排,,形成一種新的能力,進(jìn)行接口封裝后,,可將新能力對(duì)外開(kāi)放,。
2.2應(yīng)用隔離
應(yīng)用隔離是應(yīng)用執(zhí)行環(huán)境安全運(yùn)行的關(guān)鍵,對(duì)于非信任域內(nèi)的第三方應(yīng)用,,需要確保某一個(gè)應(yīng)用運(yùn)行時(shí)故障不會(huì)引起整個(gè)系統(tǒng)出現(xiàn)故障,。應(yīng)用隔離的實(shí)現(xiàn)方案主要有3種:虛擬機(jī)隔離、容器隔離和應(yīng)用實(shí)例隔離,。
(1) 虛擬機(jī)隔離
虛擬機(jī)隔離功能,,即一個(gè)應(yīng)用獨(dú)占一個(gè)虛擬機(jī),每個(gè)虛擬機(jī)上安裝獨(dú)立的應(yīng)用執(zhí)行環(huán)境,。應(yīng)用部署時(shí),,系統(tǒng)根據(jù)應(yīng)用類(lèi)型從虛擬機(jī)資源池中獲取對(duì)應(yīng)的虛擬機(jī)及應(yīng)用執(zhí)行環(huán)境,并將應(yīng)用安裝在虛擬機(jī)上,。
虛擬機(jī)部署的優(yōu)點(diǎn)是應(yīng)用隔離比較徹底,,應(yīng)用之間相互不影響,比較安全,。但是對(duì)于移動(dòng)互聯(lián)網(wǎng)應(yīng)用來(lái)說(shuō),,大部分是小眾應(yīng)用,如果一個(gè)應(yīng)用獨(dú)占一個(gè)虛擬機(jī),,則會(huì)消耗大量的虛擬機(jī)資源,,成本較高。因此虛擬機(jī)隔離適合于有大量并發(fā)用戶(hù)訪問(wèn)的應(yīng)用,。
(2) 容器隔離
容器隔離是以應(yīng)用運(yùn)行的容器為單位來(lái)進(jìn)行應(yīng)用隔離的,,一個(gè)應(yīng)用獨(dú)立部署在一個(gè)容器中,一個(gè)虛擬機(jī)或者一臺(tái)物理機(jī)上可以部署多個(gè)容器,。容器隔離方案的缺點(diǎn)是無(wú)法給某一容器分配或者限定資源,,只能對(duì)容器所消耗的資源進(jìn)行監(jiān)控,一旦發(fā)現(xiàn)某一容器占用的資源達(dá)到指定閾值,,就執(zhí)行既定的策略(比如殺掉該容器進(jìn)程),,但這樣會(huì)中斷業(yè)務(wù),影響用戶(hù)體驗(yàn),。和虛擬機(jī)隔離方式相比,,容器隔離對(duì)資源的消耗相對(duì)較低。但是,,該方案在物理上還是要占用較多的內(nèi)存,、CPU等系統(tǒng)資源。
(3) 應(yīng)用實(shí)例隔離
應(yīng)用實(shí)例隔離是指在一個(gè)應(yīng)用運(yùn)行的容器中部署多個(gè)應(yīng)用,每個(gè)應(yīng)用的實(shí)例運(yùn)行在一個(gè)獨(dú)立的沙箱中,,由沙箱對(duì)應(yīng)用運(yùn)行時(shí)的安全進(jìn)行控制,,如圖2所示。
圖2 應(yīng)用實(shí)例隔離
應(yīng)用實(shí)例隔離方案具有以下特點(diǎn):
● 進(jìn)程內(nèi)隔離
虛擬機(jī)上安裝一個(gè)或多個(gè)容器,,其中一個(gè)容器就是一個(gè)獨(dú)立的進(jìn)程,。應(yīng)用部署在容器內(nèi)的沙箱中,應(yīng)用實(shí)例的運(yùn)行安全則由沙箱去保證,。這種隔離方式是進(jìn)程內(nèi)的隔離,,占用系統(tǒng)資源最少。同時(shí),,采用沙箱技術(shù)也可以控制單個(gè)應(yīng)用實(shí)例對(duì)資源的占用,。
開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議(OSGI)[8]是解決應(yīng)用實(shí)例隔離的方案之一,其缺點(diǎn)是目前只能針對(duì)java應(yīng)用,。Google為了解決跨平臺(tái)的瀏覽器插件隔離問(wèn)題,,還提出了NACL的解決方案,但是這些技術(shù)都有它們的局限性,。
● 資源訪問(wèn)控制
在容器內(nèi)部署多個(gè)相同或不同的應(yīng)用實(shí)例,,通過(guò)類(lèi)加載白名單機(jī)制對(duì)應(yīng)用可訪問(wèn)資源進(jìn)行控制,應(yīng)用不能訪問(wèn)系統(tǒng)內(nèi)部的資源文件,,只能訪問(wèn)其自身應(yīng)用的資源文件和類(lèi)文件,。該方案還禁止應(yīng)用對(duì)某些關(guān)鍵系統(tǒng)資源(如本地存儲(chǔ)、線程,、網(wǎng)絡(luò)等)的訪問(wèn),,在屏蔽這些系統(tǒng)資源調(diào)用的同時(shí),也必須為應(yīng)用提供必須的替代功能,,這也是GAE,、SAE等提供分布式存儲(chǔ)、任務(wù)隊(duì)列等計(jì)算和存儲(chǔ)能力暴露接口的原因之一,。
2.3 彈性伸縮與調(diào)度
SDPaaS云平臺(tái)可以在兩個(gè)層面實(shí)現(xiàn)彈性伸縮調(diào)度,。
(1) 硬件基礎(chǔ)設(shè)施層面。SDPaaS云平臺(tái)通過(guò)與IaaS的整合,,使系統(tǒng)具有IaaS所擁有的虛擬化計(jì)算與存儲(chǔ)服務(wù)能力,。SDPaaS與IaaS的整合需要虛擬化平臺(tái)暴露相關(guān)的接口,主要包括創(chuàng)建虛擬機(jī),、啟動(dòng)虛擬機(jī)、關(guān)閉虛擬機(jī),、刪除虛擬機(jī)和狀體上報(bào)等5類(lèi)接口,。
(2) SDPaas層面。SDPaaS云平臺(tái)可以在一個(gè)虛擬機(jī)上部署多個(gè)應(yīng)用實(shí)例,,通過(guò)進(jìn)程級(jí)別的監(jiān)控來(lái)識(shí)別每個(gè)應(yīng)用的CPU/內(nèi)存使用情況,,并根據(jù)每個(gè)應(yīng)用的CPU/內(nèi)存使用情況進(jìn)行應(yīng)用級(jí)別的動(dòng)態(tài)伸縮,。也就是說(shuō),監(jiān)控程序監(jiān)控各個(gè)應(yīng)用實(shí)例的運(yùn)行參數(shù),,當(dāng)某一單實(shí)例應(yīng)用的性能出現(xiàn)瓶頸時(shí),,監(jiān)控程序可以通過(guò)復(fù)制一個(gè)新的應(yīng)用實(shí)例的方式來(lái)提高處理性能;在業(yè)務(wù)性能指標(biāo)要求下降時(shí),,可以通過(guò)動(dòng)態(tài)減少應(yīng)用實(shí)例的方式來(lái)節(jié)省資源,。
2.4 負(fù)載均衡與域名轉(zhuǎn)換
SDPaaS需要實(shí)現(xiàn)動(dòng)態(tài)的應(yīng)用請(qǐng)求二級(jí)域名轉(zhuǎn)換和負(fù)載均衡,以便支持應(yīng)用的動(dòng)態(tài)加載,、即時(shí)服務(wù),。SDPaaS在功能實(shí)現(xiàn)上可以基于Apache或者NGINX等開(kāi)源軟件。同時(shí),,考慮到應(yīng)用請(qǐng)求接入?yún)f(xié)議多樣,,負(fù)載均衡設(shè)備需要支持四層交換、七層交換,、GSLB等功能,。作為系統(tǒng)最前端,負(fù)載均衡還要盡可能解決接入安全等問(wèn)題,,并提供攻擊防護(hù),、流量控制、腳本檢測(cè)等功能,,幫助應(yīng)用解決性能,、擴(kuò)展性、可靠性,、安全性問(wèn)題,。
在應(yīng)用部署時(shí),通過(guò)接口動(dòng)態(tài)更新負(fù)載均衡設(shè)備的配置策略,,可以實(shí)現(xiàn)應(yīng)用的二級(jí)域名地址到虛擬機(jī)IP地址的映射轉(zhuǎn)換,,并可以動(dòng)態(tài)分發(fā)請(qǐng)求。當(dāng)一個(gè)應(yīng)用部署到多個(gè)虛擬機(jī)時(shí),,還可以起到負(fù)載均衡器的作用,,如圖3所示。
IAG:智能業(yè)務(wù)網(wǎng)關(guān)
圖3 負(fù)載均衡的實(shí)現(xiàn)
3 SDPaaS云平臺(tái)的應(yīng)用場(chǎng)景
SDPaaS云平臺(tái)目前已經(jīng)有3種商用的應(yīng)用場(chǎng)景,,分別是能力開(kāi)放平臺(tái),、企業(yè)應(yīng)用數(shù)據(jù)中心和應(yīng)用工廠,每種應(yīng)用場(chǎng)景都有自己的側(cè)重點(diǎn),。
(1) 能力開(kāi)放平臺(tái)
SDPaaS云平臺(tái)接入各種電信能力,、互聯(lián)網(wǎng)能力及其它能力,并提供能力開(kāi)放服務(wù)。電信能力包括短信能力,、彩信能力,、wappush能力、數(shù)據(jù)類(lèi)能力,、IP多媒體子系統(tǒng)(IMS) 能力以及定位能力等,。互聯(lián)網(wǎng)能力主要有股票行情查詢(xún)能力,、航班查詢(xún)能力等互聯(lián)網(wǎng)上開(kāi)放出來(lái)的能力,。開(kāi)發(fā)者也可以通過(guò)能力編排,創(chuàng)新出新的能力,,并作為服務(wù)開(kāi)放出去,。
(2) 企業(yè)應(yīng)用數(shù)據(jù)中心
對(duì)于中小企業(yè)或?qū)I(yè)開(kāi)發(fā)者,開(kāi)發(fā)出的服務(wù)端應(yīng)用需要托管到互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)機(jī)房,,不僅費(fèi)用高昂,,而且技術(shù)要求高、調(diào)試運(yùn)維難,。SDPaaS云平臺(tái)底層可以基于IaaS平臺(tái),,而計(jì)算能力、存儲(chǔ)能力和網(wǎng)絡(luò)能力等可以由SDPaaS云平臺(tái)統(tǒng)一監(jiān)控,、管理,,自動(dòng)具有彈性伸縮、按需分配和故障遷移等云計(jì)算特性,。中小企業(yè)開(kāi)或者專(zhuān)業(yè)開(kāi)發(fā)者可以直接將自己的應(yīng)用托管在SDPaaS云上,,構(gòu)建企業(yè)私有的應(yīng)用數(shù)據(jù)中心(ADC)。
(3) 應(yīng)用工廠
SDPaaS云平臺(tái)提供了應(yīng)用開(kāi)發(fā)環(huán)境,、應(yīng)用執(zhí)行環(huán)境,、應(yīng)用仿真測(cè)試環(huán)境,并為應(yīng)用的開(kāi)發(fā),、測(cè)試,、部署提供完整的生命周期管理,開(kāi)發(fā)者基于平臺(tái)可以方便地開(kāi)發(fā),、測(cè)試,、部署自己的應(yīng)用。開(kāi)發(fā)出來(lái)的應(yīng)用既可以托管在SDPaaS云平臺(tái),,又可以快捷地放到運(yùn)營(yíng)商的應(yīng)用商店里銷(xiāo)售,,從而形成“前店后廠”的模式。
4 結(jié)束語(yǔ)
作為促進(jìn)電信和互聯(lián)網(wǎng)“長(zhǎng)尾”業(yè)務(wù)模式快速發(fā)展的重要手段之一,,能力開(kāi)放平臺(tái)的發(fā)展得到了全球產(chǎn)業(yè)界的廣泛關(guān)注,。我們?cè)陂L(zhǎng)期增值業(yè)務(wù)平臺(tái)技術(shù)實(shí)踐的基礎(chǔ)上,,通過(guò)吸收,、消化互聯(lián)網(wǎng)和云計(jì)算技術(shù),,創(chuàng)造性地提出了SDPaaS這一具有云計(jì)算特性的融合業(yè)務(wù)開(kāi)放平臺(tái)并付諸研發(fā)實(shí)踐。以SDPaaS平臺(tái)提供了完整的端到端產(chǎn)品解決方案,,是電信運(yùn)營(yíng)商向移動(dòng)互聯(lián)網(wǎng)轉(zhuǎn)型的嘗試,,也是電信設(shè)備商從傳統(tǒng)的賣(mài)產(chǎn)品向賣(mài)服務(wù)的戰(zhàn)略轉(zhuǎn)型的嘗試。
5 參考文獻(xiàn)
[1] 董振江,陸平,楊勇.具備云計(jì)算特性的業(yè)務(wù)交付平臺(tái)及其關(guān)鍵技術(shù)研究[J].中興通訊技術(shù),2011,17 (5):55-57.
[2] 倪洪章.IBM SDP 實(shí)現(xiàn)電信運(yùn)營(yíng)商業(yè)務(wù)水平整合[N]. 計(jì)算機(jī)世界, 2008-02-04.
[3] 馬蘇安.云計(jì)算在電信領(lǐng)域的應(yīng)用[J].中興通訊技術(shù),2010,16(4):44-47.
[4] 羅黎霞.基于云計(jì)算的服務(wù)平臺(tái)--Google APP Engine[J].信息與電腦:理論版,,2009(8):93-94.
[5] 劉鵬,云計(jì)算[M]. 2版. 北京:電子工業(yè)出版社,,2011.
[6] 吳朱華. 云計(jì)算核心技術(shù)剖析[M]. 北京:人民郵電出版社,2011.
[7] 雷葆華,饒少陽(yáng),江峰等.計(jì)算解碼:技術(shù)架構(gòu)和產(chǎn)業(yè)運(yùn)營(yíng)[M]. 北京:電子工業(yè)出版社,2011.
[8] 林昊,曾憲杰.osgi原理與最佳實(shí)踐[M]. 北京:電子工業(yè)出版社,2009.
[9] McGrath M R.Understanding PaaS[M].New York,NY,USA:O'Reilly Media,2012.
[10] 唐學(xué)韜,何繼業(yè)等. sanderson d. GAE編程指南[M].北京:機(jī)械工業(yè)出版社,2011.