李雯睿+潘雷+黃嘉靖
摘要:為了持續應對復雜、多變的云計算環境,提供滿足用戶期望的服務,云服務組合除了能實現基本需求外,還必須具備一定程度的自適應能力。介紹了主動自適應技術,研究了云計算環境下服務組合的主動自適應技術、在線質量預測方法和在線調整策略,梳理了云服務組合的主動自適應技術面臨的挑戰,并提出了應對策略。
關鍵詞:云計算;云組合服務;在線質量預測;在線調整策略
DOIDOI:10.11907/rjdk.172048
中圖分類號:TP301
文獻標識碼:A 文章編號:1672-7800(2017)012-0213-04
Abstract:In order to continue to deal with complex and ever-changing cloud computing environment and provide services to meet user expectations, cloud service composition must not only meet the basic needs, but also have a certain degree of adaptability. Therefore, how to make the service oriented system adaptive and highly adaptable to the dynamic, evolutionary and complex cloud computing environment has become a key problem to be solved urgently in this field. First introduces the active adaptive technology, then research and analysis of the two key technologies of cloud computing technology active adaptive service composition environment: the prediction method and the on-line adjusting strategy of online quality, combing face active adaptive cloud service composition technology challenges, and then put forward the possible countermeasures.
Key Words:cloud computing; cloud composite services; online quality prediction; online adjustment strategy
0 引言
云計算是一種新興的計算范式,用戶可通過網絡及云計算平臺隨時隨地按需獲得計算服務能力[1]。據IDC預計,未來幾年云IT基礎設施投入將保持15.5%的年復合增長率,到2019年將達到543億美元,占整體IT基礎設施投入的46.6%[2]。
云計算能有效集成SOA(面向服務的體系結構:Service Oriented Architecture),將基于云的資源和服務動態組合,從而為云計算環境下的服務組合(以下簡稱云服務組合)業務提供SOA解決方案。
企業不僅關注服務組合的功能特性,而且關注其能否為用戶提供更好的服務質量(Quality of Service,QoS)。然而,由于云計算環境的動態多變以及第三方服務的不可控性,云服務組合是否滿足原有功能及可用性、可靠性、安全性等非功能需求將面臨新的挑戰,尤其是對于不可預期的資源變化和多變的用戶需求,導致云服務組合的QoS難以得到長期和穩定的保證。
為了應對云計算環境帶來的上述問題和挑戰,需借助新型的主動自適應技術,使云服務組合具有自適應能力。本文闡述云服務系統的在線質量預測方法和在線調整策略,指出云服務組合的主動自適應技術所面臨的挑戰,并提出可能的解決思路。
1 主動自適應技術
主動自適應(Proactive Self-adaptation)是指系統能提前預知的關鍵失效或QoS問題,嘗試采取對策阻止失效發生,或者為即將發生的失效預先準備修復機制,以減少修復代價[3]。
主動自適應技術是根據觀測到的歷史數據(通常是通過監控服務執行來收集數據)推斷未來的服務質量,并在服務組合系統失效發生之前采取相應的適應策略。這意味著當QoS失效時無需人工干預或外部智能體干預,系統能自動恢復到正常運行狀態,并對服務資源和環境變化作出自適應處理,以滿足用戶多變的功能和非功能需求。
在云計算環境中,云服務組合的自適應技術包括在線質量預測方法和主動自適應技術,本文對這兩項關鍵技術進行研究。
2 在線質量預測方法
與傳統軟件系統相比,云服務組合面臨著前所未有的動態性及缺乏對第三方服務的控制。因此,研究人員提出用各種方法預測云服務組合的質量。
2.1 時間序列預測方法
時間序列預測模型采用已觀測到服務行為(監控數據)推斷將來的QoS。目前這些模型主要用來預測單個服務或服務組合的響應時間等。Zeng等[4]采用基于時間序列的方法來預測QoS的關鍵績效指標(Key Performance Indicator,KPI),Aschoff等[5]采用指數加權移動平均(EWMA)的時間序列方法來預測服務組合的響應時間,華哲邦等[6]提出了一種基于時間序列分析的Web Service QoS預測方法,能有效預測短期內的QoS信息。endprint
2.2 在線測試方法
基于在線測試的質量預測技術通過測試主動收集數據。Hielscher等[7]提出PROSA框架,擴展了現有的測試技術,檢測服務QoS的變化和偏差,并在這些變化和偏差導致嚴重危害之前觸發適應工作。為了避免不必要的修改,Metzger等[8]通過在線測試方式增加監控數據,從而提高在線失效預測方法的可信度。
2.3 機器學習或數據挖掘方法
這類方法利用數據挖掘或機器學習能力,對歷史監控數據進行訓練。代表性解決方案有統計方法(如回歸)的各種變種,如定量QoS的多層人工神經網絡和定性QoS的決策樹等。Leitner等[9]提出采用多層人工神經網絡預測SLA違例方法,Ejarque等[10]提出基于決策樹方法預測和分配資源。
2.4 運行驗證方法
運行驗證是一種輕量級的形式化分析技術,用來確定運行時是否滿足預定義屬性。使用模型檢驗方法來檢驗服務組合模型,以確定云服務組合系統是否成功執行。Schmieders等[11]采用基于假設的運行驗證方法驗證需求在運行時是否成立,Zhu等[12]根據服務組合設計模型和運行時的狀態信息預測全局模型,并檢測該模型是否滿足期望,從而作出失效預測。
2.5 基于模擬的方法
基于模擬的方法執行動態模型,模擬面向服務的系統行為,從而預測其將來的質量屬性。如Ivanovic'等[13]將服務組合轉換成動態模型,對動態模型資源建模,通過執行系統預測其占有的資源情況。Jamoussi等[14]采用離散事件的模擬方法執行服務組合,從而預測和保證QoS性質。
3 在線調整方法
在監控和預測到問題后,云服務組合能在線調整自身行為,持續提供滿足用戶需求的服務。在線調整方法分為如下幾類:服務的流程層調整、服務和服務組合層調整、平臺和基礎設施層調整以及跨層調整。
3.1 流程層調整
當監控到流程層出現問題時,早期的方法是在流程層進行調整,使得面向服務系統能夠正常運行。
Brogi等[15]給出了自動生成工作流中數據流的修改方法,在發生數據不匹配時進行流程修改。Gambini等[16]提出一種技術對過程設計模型進行自動糾錯。該方法基于模擬退火,通過確定過程模型的替代品解決原模型中的一個或多個錯誤。為提高可重用性和靈活性,Groefsema等[17]通過引入可變框架BPM,利用時序邏輯表示流程的本質,留下其它選項供用戶選擇和調整。
3.2 服務和服務組合層調整
通常情況下更多的調整集中在服務和服務組合層,包括動態服務綁定和QoS自省方法等。當監控到一些服務不可用或效率低下時,可能的調整方法是動態服務綁定或重新綁定。
Christos等[18]提出一個框架支持服務調整。Wagner等[19]提出了一種基于QoS組合方法,將功能類似的服務形成一個蔟群,計算每個蔟群的服務質量,并最終組合成工作流程。
3.3 平臺和基礎設施層調整
隨著云計算技術的出現,面向服務系統的平臺和基礎設施層的運行問題有各種調整技術。一些方法是針對服務部署或平臺的調整,另一些技術則是側重于計算資源的調整。
監控到服務基礎設施和平臺層的故障和問題后,采取相應的修復機制。Lambers等[20]提出WS-DIAMOND框架,允許在運行時診斷和恢復服務。Kertesz等[21]引入了SLA自省的服務虛擬化架構,使應用程序按需部署在云中。
Almeida等[22]提出調整資源管理,通過最大限度地提高供應商收入、滿足客戶QoS需求、減少資源的使用成本來確定面向服務的應用程序優化模型。Lin等[23]形式化一個面向服務的計算環境模型,提出一個科學工作流調度算法SCPOR,能夠根據計算資源的改變按需彈性調度工作流。
3.4 跨層調整
面向服務系統的跨層調整技術是一個重點。Fugini等[24]開發的框架模擬跨層的SLA契約,用來監測和調整SLA契約模型,包括關鍵KPI參數、關鍵目標指標(KGI)和IT基礎設施指標等。Zaplata等[25]提出了能夠跨業務流程層、服務組合層和服務基礎設施層,監控和調整面向服務的系統。Popescu等[26]針對多層應用提出一個基于模式的調整方案,解決不同層遇到的問題。
4 面臨的挑戰
雖然服務組合及自適應技術研究已經取得很多成績,但云服務組合在線質量預測和自適應技術還存在許多問題。
4.1 在線監控和質量預測問題
QoS預測的思路是實時監控面向服務的QoS(服務質量)參數相關信息,可從在線監控和質量預測兩個方面闡述所面臨的問題。
監控方面。首先,由于云服務系統有大量不同資源,監控所有資源會降低系統性能,故需要深入挖掘這些資源與服務質量波動之間的關聯關系,從而確認待監控的數據類型;其次,每個云服務可能被數以千計的用戶同時執行,故監控服務與所有用戶的交互會使監控開銷大大增加。為降低監控開銷,還需要定制數據收集頻率和數據量;最后,監控邏輯與面向服務系統的業務邏輯應當是非糾纏的,以保證監控機制對面向服務的系統影響盡可能小。
對于面向服務系統,QoS預測更為復雜。首先,云計算環境會導致監控收集到的數據量激增。大數據可為預測技術提供更好的數據支持,但這些數據復雜、異構,可能不精確或存在噪聲干擾。如何采用新技術實時處理這些大數據,從而準確地完成在線QoS預測同樣面臨問題;其次,由于面向服務系統的組合特性,對前端服務器的性能簡單地預測可能無法提供完整、全面的QoS,還需要知道其背后的云服務鏈中所有服務器的QoS特性以及相關的實時數據;再次,云服務預測要考慮按需采購所產生的延遲,這種延遲比在傳統的軟件服務環境中分配內部可用資源花費的時間要長得多;最后,云服務系統的使用環境可能在不斷地改變,即使在初始環境中高準確度的預測模型也可能會隨著時間的推移迅速降低。endprint
因此,一種模型或固定參數已經不再適應這些情況,需要借助多模型和多參數進行預測,并且不斷地以在線方式評估模型的預測準確性,以確定運行時此模型預測是否準確,甚至在不同的預測模型之間進行動態切換。
4.2 在線調整策略問題
面向服務系統的主動式在線調整策略,借鑒傳統的反應式自適應方法,但與反應式自適應方式不同。在線調整策略處理時間是在失效發生之前,或者失效對系統QoS造成負面影響之前。
傳統的面向服務系統的在線調整方法大都只是針對單層面臨的問題進行調整,無法做到云服務系統的跨層調整。首先,有些方法能進行跨層調整,但這些調整策略大都是靜態的,即在設計時已經確定相應的策略,不能處理云計算環境下的動態失效,更不能做到主動調整,所以迫切需要在運行時根據預測到的威脅在線自動生成調整策略;其次,由于云計算環境的復雜性、動態性和異構性,可能存在多個跨層有沖突的QoS性質,這時要使多個QoS性質同時達到最優是不可能的,只能在它們中間進行協調或折中處理;最后,大多數在線調整策略都不具備學習功能,很難及時優化和更新。
因此,采取自學習能力策略,即可根據監控的歷史日志在線調整,從而及時更新模型、優化算法和改善預測能力。
5 應對之策
本文針對在線監控和質量預測問題,基于之前的工作,提出一個自適應和可擴展的監控和預測框架[27-29],分別對基礎設施層、平臺層和軟件層中的實例層云服務進行監控。設定數據收集范圍和頻率,對運行時收集到的數據進行基于模型的預測,根據實際情況動態選擇合適的統計預測技術,提前識別可能的QoS威脅,并采用非糾纏方式使監控和預測機制對面向服務系統的性能影響降至最低。
針對在線調整策略問題,根據QoS需求、識別到的QoS威脅和現有云服務,分析威脅產生的原因,并在運行時動態和自動生成在線調整策略。當生成多個在線調整策略時,采用基于模型的方法預評估每個策略執行的影響,選擇代價較優的策略,從而持續提供滿足用戶QoS需求的服務系統。
6 結語
本文從云環境給服務組合帶來的問題入手,介紹了主動自適應技術概念,針對云服務組合自適應的兩項關鍵技術,提出在線質量預測和主動自適應方法,分析了該技術特點,提出了應對之策。
參考文獻:
[1] ARMBRUST M, FOX A, GRIFFITH R, et al. Above the clouds: a berkeley view of cloud computing[J]. Communications of the ACM,2010,53(4):50-58.
[2] IDC Cloud research[EB/OL]. http://www.idc.com/prodserv/idc_cloud.jsp.2016.
[3] METZGER A, CHI C H, ENGEL Y, et al. Research challenges on online service quality prediction for proactive adaptation[C]. 2012 Workshop on European Software Services and Systems Research-Results and Challenges (S-Cube), IEEE,2012:51-57.
[4] ZENG L, LINGENFELDER C, LEI H, et al. Event-driven quality of service prediction[M]. Service-Oriented Computing-ICSOC 2008. Springer Berlin Heidelberg,2008:147-161.
[5] ASCHOFF R R, ZISMAN A. Proactive adaptation of service composition[C]. 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), IEEE,2012:1-10.
[6] 華哲邦,李萌,趙俊峰,等.基于時間序列分析的Web Service QoS預測方法[J].計算機科學與探索,2013(3):5-6.
[7] HIELSCHER J, KAZHAMIAKIN R, METZGER A, et al. A framework for proactive self-adaptation of service-based applications based on online testing[M]. Towards a Service-Based Internet. Springer Berlin Heidelberg,2008:122-133.
[8] METZGER A, SAMMODI O, POHL K, et al. Towards pro-active adaptation with confidence: augmenting service monitoring with online testing[C]. Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems. ACM,2010:20-28.
[9] LEITNER P, MICHLMAYR A, ROSENBERG F, et al. Monitoring, prediction and prevention of SLA violations in composite services[C]. 2010 IEEE International Conference on Web Services, IEEE,2010:369-376.endprint
[10] EJARQUE J, MICSIK A, SIRVENT R, et al. Semantic resource allocation with historical data based predictions[C]. The First International Conference on Cloud Computing, GRIDs, and Virtualization,2010:104-109.
[11] SCHMIEDERS E, METZGER A. Preventing performance violations of service compositions using assumption-based run-time verification[M]. Towards a Service-Based Internet, Springer Berlin Heidelberg,2011:194-205.
[12] ZHU Y, WU X, ZHANG P, et al. Predicting failures in dynamic composite services with proactive monitoring technique[C]. 2012 IEEE Eighth World Congress on Services, IEEE,2012:92-99.
[13] IVANOVIC' D, TREIBER M, CARRO M, et al. Building dynamic models of service compositions with simulation of provision resources[M]. Conceptual Modeling-ER, Springer Berlin Heidelberg,2010:288-301.
[14] JAMOUSSI Y, DRISS M, JéZéQUEL J M, et al. Qos assurance for service-based applications using discrete-event simulation[J]. International Journal of Computer Science,2014,7(6):162-169.
[15] BROGI A, POPESCU R. Automated generation of BPEL adapters[M]. Service-Oriented Computing-ICSOC 2006. Springer Berlin Heidelberg,2006:27-39
[16] GAMBINI M, LA ROSA M, MIGLIORINI S, et al. Automated error correction of business process models[M]. Business Process Management. Springer Berlin Heidelberg,2011:148-165.
[17] GROEFSEMA H, BULANOV P, AIELLO M. Declarative enhancement framework for business processes[M]. Service-Oriented Computing. Springer Berlin Heidelberg,2011:495-504.
[18] CHRISTOS K, VASSILAKIS C, ROUVAS E, et al. Qos-driven adaptation of bpel scenario execution[C]. Web Services, 2009. ICWS 2009. IEEE International Conference on. IEEE,2009:271-278.
[19] WAGNER F, ISHIKAWA F, HONIDEN S. Qos-aware automatic service composition by applying functional clustering[C]. Web Services (ICWS), 2011 IEEE International Conference on. IEEE,2011:89-96.
[20] LAMBERS L, MARIANI L, EHRIG H, et al. A formal framework for developing adaptable service-based applications[M]. Fundamental Approaches to Software Engineering. Springer Berlin Heidelberg,2008:392-406.
[21] KERTESZ A, KECSKEMETI G, BRANDIC I. Autonomic sla-aware service virtualization for distributed systems[C]. Parallel, Distributed and Network-Based Processing (PDP), International Conference on 2011 19th Euromicro,2011:503-510.
[22] ALMEIDA J, ALMEIDA V, ARDAGNA D, et al. Resource management in the autonomic service-oriented architecture[C]. IEEE International Conference on Autonomic Computing, IEEE,2006:84-92.endprint
[23] LIN C, LU S. Scheduling scientific workflows elastically for cloud computing[C]. 2011 IEEE International Conference on Cloud Computing (CLOUD),2011:746-747.
[24] FUGINI M, SIADAT H. SLA contract for cross-layer monitoring and adaptation[C]. Business Process Management Workshops. Springer Berlin Heidelberg,2010:412-423.
[25] ZAPLATA S, HAMANN K, KOTTKE K, et al. Flexible execution of distributed business processes based on process instance migration[J]. Journal of Systems Integration,2010(3):3-16.
[26] POPESCU R, STAIKOPOULOS A, BROGI A, et al. A formalized, taxonomy-driven approach to cross-layer application adaptation[J]. ACM Transactions on Autonomous and Adaptive Systems (TAAS),2012,7(1):7-10.
[27] 莊媛,張鵬程,李雯睿,等.一種環境因素敏感的Web Service QoS監控方法[J].軟件學報,2016,27(8):1978-1992.
[28] 張鵬程,李宣東,李雯睿.基于博弈論的開放環境下場景規約監控語義[J].中國科學:信息科學,2014,44(2):263-283.
[29] WENRUI LI, YAN CHENG, PENGCHENG ZHANG, et al. An automatic recovery mechanism for cloud service composition[J]. International Journal of Web Services Research,2016,13(1):24-40.
(責任編輯:杜能鋼)endprint