论文部分内容阅读
云计算是一种新兴的计算模式,它借助虚拟化技术整合软硬件资源,实现更高效的计算能力。云计算为用户提供了一种按需支付的使用方式,用户共享云上的计算能力、存储空间和其他虚拟资源,他们无需了解云计算技术的专业知识,也不需要对云进行直接控制,使用时向云计算平台请求自己所需的服务即可。云计算在近年来取得了令人瞩目的进展。在商业领域,各大厂商争先开发自己的云计算平台;在开源领域也涌现了众多云计算相关的项目。云计算平台帮助没有硬件设施的用户以租赁的方式获得计算能力。然而,几乎所有的云计算平台都只提供了基础设施级别的服务,对于用户来说,还面临两个主要问题。一是他们需额外配置操作系统、数据库和中间件以搭建可使用的用户环境;二是在大规模部署场景下,重复的手动操作不仅容易出错,而且浪费了用户大量时间。这些问题的一个合理解决方案是将部署配置操作抽象为模块,并使用自动化技术予以实现和复用。基于这样的问题,本文完成了如下工作:1.研究并提出了一种基于云计算平台的服务自动化部署机制。为了更具通用性,我们从两个层面进行研究:1)操作系统级别的自动化部署,它为云计算平台指定符合其要求的虚拟机镜像,并借助云计算平台的计算组件完成镜像的上传、注册以及虚拟机的启动;2)应用级别的自动化部署,它借助开源的部署框架,使用客户端/服务端的模式,结合云计算平台的网络架构,通过在线/离线部署方式将用户指定的应用模块部署到虚拟机并对应用的生命周期进行管理。2.根据以上机制,我们实现了一个可扩展的服务自动化部署平台。该平台涵盖了操作系统和应用软件的自动化部署功能,并实现了平台登录鉴权。该平台基于Web技术开发,用户可以通过浏览器进行访问。服务自动化部署平台使用开源云计算平台Open Stack,利用其REST接口为用户提供透明的服务。为了验证自动化部署机制和部署平台的有效性,我们设计了一系列功能实验和性能测试。测试结果表明,本文提出的基于云计算平台的服务自动化部署机制实现了操作系统级别和应用级别的自动化部署目标,并有良好的扩展性和容错性;它可以帮助云计算平台的用户高效便捷地搭建应用环境,且对平台的服务提供商具有重要参考价值。