ImageVerifierCode 换一换
格式:DOCX , 页数:79 ,大小:490.24KB ,
资源ID:10011359      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10011359.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于OpenStack的应用自动部署管理系统研究.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于OpenStack的应用自动部署管理系统研究.docx

1、基于OpenStack的应用自动部署管理系统研究基于OpenStack的应用自动部署管理系统研究(申请清华大学工程硕士专业学位论文)培养单位:计算机科学与技术系工程领域:计算机技术申请人:肖飞指导教师:陈康副教授联合指导教师:张亮高工二一五年五月基于OpenStack的应用自动部署管理系统研究肖吕飞Research on the Automatic Deployment and Management System of Applications Based on OpenStackThesis Submitted toTsinghuaUniversityin partial fulfillme

2、nt of the requirement for the professional degree of Master of EngineeringbyXiao Fei(ComputerTechnology)Thesis Supervisor:Associate Professor Chen KangAssociate Supervisor:Senior EngineerZhangLiangMay,2015关于学位论文使用授权的说明本人完全了解清华大学有关保留、使用学位论文的规定,即:清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:(1)已获学位的研究生必须按学校规定提交学位论文,

3、学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;(2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料室等场所供校内师生阅读,或在校园网上供校内师生浏览部分内容。本人保证遵守上述规定。(保密的论文在解密后遵守此规定)作者签名:导师签名:日期:日期:摘 要近年来随着云计算风起云涌和飞速发展,OpenStack开源云计算平台迅速占领了世界各地的ICT机房和数据中心,成为开源云计算平台的翘楚,它给虚拟主机、网络、存储的管理提供了巨大灵活性。但是应用程序的部署与管理仍然与操作系统紧密耦合,面对大规模的应用部署和迁移时,系统管理人员仍然需要反复在虚拟机中安装配置应用中间件、

4、数据库和操作系统,并没有获得云计算更多的帮助。本文针对应用自动部署管理领域遇到的问题,主要完成了以下工作:(1)提出了一种基于OpenStack平台的应用自动部署管理系统的设计方案,从系统需求背景、应用场景提出了系统的功能需求,给出了包括用户命令行界面、OpenStack API驱动、虚拟机管理、Agent管理以及应用程序管理模块的系统总体架构体系。(2)分别从OpenStack接口调用、虚拟机初始化、虚拟机管理、系统与Agent的网络通信方面详述了虚拟机管理模块的实现,从应用环境配置、应用部署和负载均衡给出了应用自动配置管理模块功能的实现。提出了系统中虚拟机和应用程序的监控方案,给出了一种基

5、于可变权重的平均负载算法,根据计算得到的应用平均负载对应用程序执行扩展和收缩等动态调整功能。(3)在测试环境下对应用自动部署管理系统的功能进行了测试,测试结果表明系统完全达到了需求和设计目标,能够将应用程序的部署完全融合到云环境的基础设施中,应用的部署过程被简化为一条系统命令,另外系统对应用提供了全生命周期的监控管理,对应用程序出现的不确定的故障和用户压力能够通过重启、扩展和收缩等动作进行处理,保证其在运行过程中的稳定性,使运维人员在云环境下对应用的管理更加简单容易。关键词:云计算;OpenStack;应用程序;自动部署;扩展收缩AbstractWith surging and the rap

6、id development of cloud computing in recent years, theopen source cloud computing platform of OpenStack quickly occupied the ICT rooms and data centers on the world,and it hasmade champions of the free open source cloud computing platform, because it provides a vital tremendous flexibility to theman

7、agement of hosts, networks and storages. But the application deployment and management still tightly coupled with the operating system, in the face of large-scale application deployment and migration, system managers still need to installand configure application middlewares and operating systems re

8、peated in a virtual machine, and didnt get more help.This paperfocuses on the problems of the automatic deployment management of applications, and does the following works:(1)We put forward a kind of design scheme in the automatic deployment management systembased on OpenStack.It covers the system d

9、emand background, application scenario of the system functional requirements, and the system includs user command line interface, OpenStck API driver, virtual machinemanagement, agent management and application management modules.(2)This paper presentsinto details of the implementation of the virtua

10、l machine management module, which includesthe OpenStack interfaces, initialization of virtual machine, virtual machine management, and network communication between the system and agent on virtual machine. This paper also presents the automatic configuration management module which includes the app

11、lication environment configuration, deployment, and load balancing. Then this paper tells the story of the monitoring plan of virtual machine and applications, demonstratesan average load algorithm of application based on variable weight. Application can bescaled out and in according to the calculat

12、ed average load.(3)Finally we do some tests in a test environment.The test results show that the system fully meets the requirements and design goal, andcan mergedthe deployment of the applicationcompletely into the field of cloud infrastructure, application deployment process is simplified as a sys

13、tem command.The system provides monitoring and management to the lifecycle of the application. The uncertain faults and user pressure can be disposed by restart scale out and scale in. Ensuring the stability in the operation process, it provides simpler and easieradvantages to application operations

14、 staffs in a cloud environment management.Keywords:Cloud Computing; OpenStack; Application; AutoDeploy; Scale Out and Scale In目录第1章引言 11.1研究背景 11.2国内外研究现状 11.3研究的目的及意义 31.4论文的主要内容 3第2章云计算与应用扩展性 52.1云计算简介 52.1.1概念 52.1.2服务模型 52.1.3服务性质 62.1.4云计算的优点 72.2 IaaS概述 72.3 PaaS系统概述 92.3.1 Google App Engine 1

15、02.3.2 Cloud Foundry 112.3.3 Heroku 112.4扩展性理论 122.4.1 Amdahl定律 132.4.2固定负载 132.4.3 Gustafson定律 132.5应用扩展的极限 142.5.1扩展障碍 142.5.2端到端延迟 142.5.3成本障碍 162.6实际扩展性难题和线性扩展架构 172.6.1分层应用系统的扩展性问题 182.6.2线性扩展架构 182.7本章小结 19第3章基于OpenStack的应用自动部署管理系统架构设计 203.1系统需求背景 203.2系统应用场景 203.3系统总体架构 213.4通信设计 233.5命令行的设计实

16、现 243.6系统使用流程 243.7本章小结 25第4章虚拟机管理 264.1 OpenStack API 驱动 264.1.1 OpenStack API 264.1.2 OpenStack API SDK 274.1.3驱动的编程实现 294.2初始化虚拟机 304.2.1 Cloud-Init 304.2.2通过SSH进行虚拟机环境配置。 314.3虚拟机管理的软件实现 324.3.1虚拟机的数据结构 324.3.2虚拟机的业务逻辑管理 324.3.3虚拟机的操作管理 324.4与虚拟机Agent的网络通信 334.4.1 Server的实现 334.4.2 Agent的实现 354.

17、4.3通信协议 354.5本章小结 36第5章应用自动配置管理 375.1应用环境准备 375.2应用部署 385.3应用的负载均衡 385.4应用自动管理的实现 395.4.1 WebApplication 395.4.2 WebApplicationManager 405.5本章小结 40第6章应用环境监控与自动扩展 416.1虚拟机环境监测 416.1.1 Telemetry API方式 416.1.2虚拟机Agent方式 436.2基于可变权重的平均负载算法 436.2.1虚拟机平均负载 436.2.2应用程序平均负载 446.3虚拟机和应用环境监测的实现 466.3.1虚拟机Agen

18、t监测模块 466.3.2 Server监测处理模块 466.4应用故障重启 486.5应用扩展与收缩 496.5.1应用扩展 496.5.2应用收缩 506.6本章小结 51第7章实验与分析 527.1测试环境 527.2系统功能测试 537.2.1初始化云环境 537.2.2应用部署 537.2.3应用卸载 547.2.4应用扩展 557.2.5应用收缩 557.2.6查看虚拟机资源使用情况 567.2.7远程执行Linux命令 567.3压力测试 577.4本章小结 58第8章总结与展望 598.1论文工作总结 598.2未来研究展望 60参考文献 61致谢 63声明 64个人简历、在学

19、期间发表的学术论文与研究成果 65第1章 引言1.1 研究背景自云计算的概念出现以来,它以空前的速度和规模占领了IT的各个领域,在IT基础设施、分布式数据存储、中间件与微服务架构、移动互联网等领域取得了空前的成功。云计算服务是近十年来计算机技术领域发展的又一个高峰,它为实现信息技术的按需供给、IT资源的高效利用指明了方向。云计算特别是公有云平台的出现可以让用户集中关注自己的应用开发,最大化地创造商业价值,而将额外的工作交给专门的云服务提供商去做,并且按需获得计算资源,投资少门槛低,有利于降低IT小微企业特别是移动互联网创业企业的经营成本,有利于激发整个信息技术行业的创业热情和技术创新。Web1

20、.0出现之后,B/S体系的服务模式架构逐渐取代了C/S体系的桌面软件客户端,成为人们使用计算机的主要途径。随着Web2.0的兴起,社会化服务(Social Network Service, SNS)网站纷纷涌现,服务了数以亿计的狂热用户。面对越来越多的用户、越来越碎片化的数据,传统的分层Web架构面临了巨大的挑战,也为云计算的兴起提供了前所未有的巨大机遇。互联网巨头们在面临新问题挑战的时候纷纷发展并共享了自己的技术方案,例如雅虎的门户网站和邮件服务、谷歌的GAE和BigTable、亚马逊的EC2和S3、Facebook的Cassandra分布式存储技术等。同时国内的BAT(XX、阿里巴巴、腾讯

21、)的技术团队也不甘落后,在跟踪和研究国外先进技术的同时,他们也开发了自己的专有技术,使得上述主要大型互联网服务不断地丰富化和差异化。例如2014年淘宝“双十一”购物节,阿里巴巴的零售总额为571亿元,其中移动端成交近243亿,占比42.6%,再次以惊人的交易量刷新了移动电商平台单日交易新高。面对如此大的并发交易量,背后是阿里云计算团队对软负载配置、分布式服务框架、消息中间件、数据访问层、应用服务器和稳定性平台等不同层次技术的长期积累和研发,他们也为云计算技术在中国的发展创新和实践做出了巨大贡献。1.2 国内外研究现状云计算是个内涵很丰富的研究领域,学术界和产业界的研究重点各有侧重,对它的研究主

22、要包括了主机虚拟化、网络虚拟化、存储虚拟化(NoSQL数据库)、终端计算虚拟化、云计算安全、云操作系统等方面。并且很多研究机构和公司都将自己的解决方案在互联网上开源,提供了很多优秀的典型产品供人们研究。主机虚拟化方面,主要有Eucalyptus、OpenNebula、CloudStack、OpenStack等开源IaaS云平台和微软Hyper-V、VMware VCloud、Amazon Elastic Compute Cloud等商用云平台。目前在国内应用最多,激战最火热的当属CloudStack、OpenStack和VCloud,国内很多厂商例如浪潮、华为等都基于CloudStack和Op

23、enStack的二次包装推出了自主可控的虚拟化管理平台,帮助用户实现虚拟化的基础设施。网络虚拟化的研究重点是软件定义网络(SDN)。顾名思义SDN的思想就是要用软件虚拟的方式重新定义数据中心的网络设备,改变原有网络设备的管理控制固件与硬件紧密绑定的商业模式,彻底摆脱网络设备硬件对网络的束缚,使企业在改造和扩展网络结构的时候能够得到最大的灵活性和扩展性。SDN可以将把网络中的交换机、路由器、防火墙等设备从原来的硬件中提取出到网络虚拟交换管理软件中,而原有的这些网络设备被标准化的基础商用设备取代,企业在面临网络升级时只需要更新硬件设备即可,不需要大规模变更现有网络架构。可以说SDN最具有代表性的是

24、OpenFlow,它是由斯坦福大学的Nick McKeown教授在 2008 年4月 ACM Communications Review 上发表的一篇论文OpenFlow: enabling innovation in campus networks里首先提出来的。OpenFlow最早是网络研究人员用来验证创新的网络协议和架构时为了减轻网络配置管理工作而提出的,这一思想把网络控制转发与硬件分离,从网络硬件中把控制逻辑提出抽象出一个虚拟网络管理软件,是的研究人员在改变网络拓扑结构和网络协议时,无需对原有网络硬件进行改动。非关系型数据库(NoSQL)是随着互联网浪潮特别是近年来社交网络的飞速发展和

25、应用迅速壮大的一类数据库和数据存储,它不单指某一个产品,而是代表了一族产品。由于广泛采用的关系型数据库在面对互联网应用中大规模海量数据时,因自身数据库范式设计上的束缚,暴露出了与当今的需求如快速数据处理、并行化、可扩展性和成本经济性等方面的不足,促使人们在NoSQL领域寻找答案。Google在NoSQL的发展中起了很重要的引领作用,它基于自身业务的需要为了支撑搜索引擎、Gmail、Google Maps等产品,开了了一整套可伸缩的基础设施用来管理资源和进行大数据处理,这包括了分布式文件系统、面向列族的数据存储、分布式的资源调配系统和基于MapReduce的计算模型环境。Google在开发这些系

26、统过程中公开的一系列论文被视为NoSQL的重要理论基础,引发了业界的广泛关注和浓厚兴趣,陆续出现了模仿其基础设施的众多开源项目和产品。许多大大小小的公司都加入进来,愿意学习和借鉴已有经验,并且进行改进,这样NoSQL的概念得到了广泛的传播和接受。总的来说NoSQL数据库适合于数据模型较简单、不需要高度的数据一致性、需要灵活性和高扩展性的IT系统。1.3 研究的目的及意义当前云计算平台在政府部门和大型企业信息化建设中的作用日渐凸显,越来越多的政府部门和大型企业集团使用虚拟化技术作为硬件基础设施建设的集成,通过将服务器、存储、网络等资源虚拟化为统一管理的资源池,降低了总体能耗和管理复杂程度,提高了

27、设备使用效率和系统的可靠性和扩展性。虽然实现了主机与硬件服务器设备的分离,但是应用程序仍然与操作系统紧密耦合,面对大规模的应用部署和迁移时,系统管理人员任然需要反复在虚拟机中安装配置应用中间件、数据库和操作系统,并没有获得云计算更多的帮助。云计算环境中应用程序的自动部署与管理系统就是为了解决这些问题而出现的,使用该系统保证了云平台资源的有效利用和简便操作,减轻了应用程序维护管理的工作量,充分利用了云计算可弹性伸缩的核心能力,实现了应用的高可用性和高扩展性。本文重点考虑Java Web应用程序作为应用程序管理的研究对象,这是因为Java Web应用凭借Java成熟的技术体系、开源开放的语言特性以

28、及良好的社区支持,在政务部门、大型企业集团等安全要求高的企业级应用中得到广泛使用,同时由于当前大部分软件公司有基于JavaWeb应用程序开发了自己的快速开发平台,它极大的简化了开发人员的工作,显著提高了业务系统开发效率,成为支撑Web业务应用的经典解决方案。我主要从事国家测绘地理信息部门信息化及电子政务应用系统的开发和运行维护,在研究生学习期间,我接触并深入学习了OpenStack云计算平台,并重点研究基于OpenStack平台如何实现应用程序级别的自动部署和管理,对应用程序维护人员隐藏虚拟机和云计算平台的管理细节,并且不再需要在虚拟机中配置管理应用中间件的工作,将他们从繁杂的虚拟机管理和应用

29、中间件安装配置管理中解脱出来,使他们可以更加关注对应用系统本身业务上的管理。1.4 论文的主要内容本文主要研究云环境中应用程序自动部署管理系统的设计和实现。论文主要研究了当前云计算的发展现状,特别是主流商业云计算系统的市场格局,分析了典型PaaS系统的架构和功能,提出了基于OpenStack的应用自动部署管理系统的需求背景、应用场景,然后详细讲述了系统的总体架构和功能模块划分,并且从虚拟机与系统的通信方式设计、命令行的设计实现以及系统使用流程三方面介绍系统的设计细节。论文分章节从虚拟机管理、应用自动配置管理、应用环境监控与自动扩展三个方面详细说明了应用自动部署管理系统的实现过程。虚拟机管理重点

30、讲述了通过OpenStack API管理虚拟机的生命周期,初始化虚拟机环境,虚拟机管理模块与虚拟机Agent的网络通信、通信协议等内容。应用自动配置管理讲述了应用程序环境的配置、应用程序的部署与动态管理,应用环境监控与自动扩展讲述了虚拟机监测指标的获取与传输,虚拟机和应用程序平均负载的计算,应用故障重启以及应用动态扩展和收缩。最后论文在实验环境下对系统进行了各项功能测试,使用压力测试工具模拟用户并发访问应用系统,考察系统动态应用扩展和收缩的能力。第2章 云计算与应用扩展性2.1 云计算简介2.1.1 概念在20世纪90年代互联网浪潮席卷全球后,又经历了大约15年的时间,云计算接棒互联网成为IT

31、领域讨论最热烈的词汇。正如一千个人眼里有一千个哈姆雷特,不同的用户和厂商对云计算的定义也不完全相同,例如作为云计算的主要参与者之一的IBM对于云计算的定义是这样的,“云是一个虚拟化的计算机资源池。它能够承载多种不同的工作负载,包括后端的批处理作业和与用户交互的应用程序。”基于这一定义,云能使程序通过快速提供的虚拟机得以快速的部署和扩展。云支持冗余、自恢复和高扩展性的编程模型,可以使程序从许多不可避免的软硬件故障中恢复。另外云系统需要能够实时监测资源使用情况,这样就能够在需要时再次平衡分布计算资源。云计算提供了一个具有弹性资源的虚拟化平台,它为用户提供硬件、软件以及各种动态的数据集。云计算的思想是使用数据中心的服务器集群和超大型数据库系统将传统的桌面计算迁移到面向服务的平台。云计算依靠其低成本和简单易用的特性使用户和计算提供商都能从中获益,主机虚拟化使得可以借此降低成本。云计算同样也能够满足多用户应用程序并发的需求。云生态系统必须在设计上做到安全、可信和可靠的。也可以把云看成是一个集中化管理的资源池。同样也可以认为云是在所有用到的服务器中执行分布式计算的一组服务器集群。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1