论文部分内容阅读
云计算具有资源按需供给、支持应用弹性伸缩等优势,已逐渐成为广泛使用的计算泛型。当前,越来越多的应用系统已经或正在向云计算环境部署和迁移。但是,云应用的部署和配置费时费力且易于出错,对系统运维管理人员具有很高的领域知识要求,配置错误已成为系统故障的主要因素。导致上述问题的主要原因包括:1)应用复杂度和规模不断扩大,系统参数众多;2)系统参数间存在着相关性;3)系统的负载变化频繁,应用系统需根据负载变化频繁的进行动态再配置,然而系统配置参数间存在关联,频繁的再配置易导致参数间的不一致问题。因此研究云应用的自动部署与动态配置方法与关键技术对于提高执行效率和保障部署配置的正确性具有重要意义和现实价值。 针对上述问题,本文首先提出了一个基于服务的应用拓扑描述模型STM(Service-based Topology Model),该模型采用声明式的方法刻画云应用的部署拓扑结构,涵盖运维部署、扩展、运行时服务状态检测等信息,并基于服务和配置模板的方式描述组件参数关联关系。基于STM模型,本文接着提出了基于发布订阅的关联配置参数一致性维护机制,该机制基于STM模型中组件间参数关联关系的描述,构建出配置更改事件级联传播的有向图,通过服务注册发现机制实现组件间强依赖关系的解耦,维持应用关联参数间的一致性。然后本文针对网络故障等引起的参数不一致与配置更新后引起系统故障的问题,提出基于分布式事务的系统可用性保障机制,该机制通过事务确保系统在更新配置后整个应用的可用性,提高系统运行时更新配置的可靠性。 最后,论文在上述研究成果的基础上设计并实现了一个应用部署与动态自配置服务Cloudeploy,通过对典型三层应用Bookstore-TPCW的应用部署、弹性伸缩、故障模拟三个实验,验证系统功能以及本文方法的有效性。