APP下载

云服务组合的主动自适应技术综述

2018-01-09李雯睿潘雷黄嘉靖

软件导刊 2017年12期
关键词:云计算

李雯睿+潘雷+黄嘉靖

摘要:为了持续应对复杂、多变的云计算环境,提供满足用户期望的服务,云服务组合除了能实现基本需求外,还必须具备一定程度的自适应能力。介绍了主动自适应技术,研究了云计算环境下服务组合的主动自适应技术、在线质量预测方法和在线调整策略,梳理了云服务组合的主动自适应技术面临的挑战,并提出了应对策略。

关键词:云计算;云组合服务;在线质量预测;在线调整策略

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

猜你喜欢

云计算
谈云计算与信息资源共享管理
基于MapReduce的故障诊断方法
实验云:理论教学与实验教学深度融合的助推器