论文部分内容阅读
弹性是云计算的主要特征之一,即在保障应用服务质量的前提下,如何灵活地根据需求增减对云计算系统中各类资源的使用,快速应对负载的变化,并尽可能节省服务器资源。 云平台(PaaS)上的弹性技术需要解决的问题涉及如何实现异构应用的初次部署、如何实现应用的在线迁移、如何对应用资源开销进行度量与预测,如何对应用实例的负载进行平衡,如何实现应用资源分配的快速调整等。其中,本文着重研究了如何更好地实现应用的初次部署、如何实现应用的按特征搭配部署以及如何根据服务器的性能和应用的特征确定并实施性能更好的弹性方案等问题。现有的云平台所使用的应用部署技术出错率较高,支持的应用类型较少;现有的云平台在部署过程中较少考虑应用的资源占用特征,不能实现资源占用特征互补的应用的搭配部署;现有云平台上的弹性机制往往仅以实时的性能状况作为弹性方案的依据,没有综合考虑对负载的预测。 针对上述不足,本文提出了一系列的解决方案,并进行了有效验证。本文的主要研究工作与创新点包括: 1)一种面向异构应用的部署方法 该方法从异构应用部署的需求空间出发,对部属异构应用的整个流程进行分析与抽象,通过对应用部署时各个软件层次的具体配置要求进行组织,形成通用的应用部署模板,从而屏蔽软件构件配置时的冲突。利用该方法,可以有效地实现异构应用部署过程的抽象和统一实现,从而为应用的初次部署提供一个合理的技术路径。 2)一种云平台上应用特征的获取方法 该方法首先对应用占用服务器资源的过程进行了描述,将云平台上应用的特征划分为资源占用特征和负载特征两个方面。其中,应用的资源占用特征反映的是应用在一定的请求率下占用的服务器资源的种类和数量,应用的负载特征体现的是应用占用服务器资源随时间的变化规律。本文提出了通过对监测数据和日志信息的分析和挖掘的方法来获取应用的特征的方法。该方法可以根据应用的特征,提出合理有效的调整部署方案,从而实现应用的按需调整部署。 3)一种云平台上基于应用特征的弹性机制 这种弹性机制的过程可以分为三个主要的阶段:首先是根据平台服务器资源的分配和使用现状以及应用的服务质量,来决定弹性过程的方向;第二个阶段是结合应用的资源占用特征以及应用的负载状况,提出部署方案,并对每一种部署方案下的服务器的性能状态进行预测;第三个阶段是选取合理的部署方案并实施弹性过程。该机制在生成弹性策略时充分考虑了服务器资源供给情况和应用对于资源占用的特征,实现了应用的搭配部署,充分利用了服务器的资源。结合对应用请求率的预测,可以将弹性操作提前到请求率可能发生的变化之前进行,消除了物理机、虚拟机和应用执行单元启动时的静默期可能造成的服务质量下降。实验证明,本文提出的方法能够在保证服务质量的情况下,有效节省服务器时间的使用。与同类方法相比,平均可以减少28.3%的虚拟机的使用时间,最多可以减少50%的服务器占用。 最后,本文在前述的相关技术研究的基础上,实现了一个面向异构应用的云平台——PAE(PKU App Engine)。该平台采用了易于扩展的系统架构,提供了统一的WEB应用部署开放接口,通过特有的应用服务器池的管理技术,较好地支持了异构的WEB应用。目前,PAE已经有效地对多个应用场景提供了良好的支持,验证了本文提出的技术框架的可行性,并为后续的研究工作提供了平台基础。