《开题报告-自动化部署平台.docx》由会员分享,可在线阅读,更多相关《开题报告-自动化部署平台.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、题目:自动化部署平台学院: 软件 专业:软件工程 学生姓名: XXX 学号:XXXXXXXX项目概述:项目的来源与背景虚拟化是一个革命性的技术。它分隔了物理硬件与操作系统,从而产生了无限可 能。将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离 的虚拟服务器,我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬 件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服 务器整合,让IT对业务的变化更具适应力。在实际生产中由于业务系统比较庞大, 一个生产环境就可能包括至少几十台虚拟化服务器,同时一个生产环境中的服务器又 有多种不同的类型,每部署一
2、套环境都要耗费大量的时间,给研发和测试都带来巨大 的不便。同时在现实的研发和测试环境中,为了开发和和测试的便利,往往会有多个的环 境存在,由于版本迭代速度较快,往往一周就要对环境进行代码更新,在代码更新时 就需要进入每个虚拟服务器的后台一次又一次执行从svn服务器更新代码的命令,浪 费了大量的时间和精力。项目与实习的关系我在北京神州绿盟信息安全科技股份有限公司的云平台开发部任职研发实习生职 位,在职期间主要负责自动化部署平台开发的任务,公司内部现在主要使用VMwarevSphere作为虚拟化服务器方案。因为公司有多个相互隔离的环境用于研发和测试, 缺乏一个统一的平台对这些虚拟服务器进行统一的配
3、置和管理,所以由我在公司中的 实习导师牵头对自动化部署平台进行调研和整理,并形成初步方案,在我入职后导师 也让我担任主要的开发任务。项目意义本项目的建立,有以下几点重大的意义:1 .为公司提供了一套可以对虚拟化服务器进行新建的平台,原来新建一套环境 往往需要一个人工作几天的时间,利用这个平台只需要几分钟的时间就可以建立一套 新的环境(当然在操作后会在后台进行环境的建立操作,需要耗时儿个小时左右,但 是该过程已经不需要任何人工干预,在环境新建完成后系统会给出提示)。2 .为公司提供了一套可以对虚拟化服务器进行配置的平台,以前在新创建出虚 拟服务器后往往需要手动对服务器中的配置文件进行修改,如果一
4、个环境中存在十几 甚至几十个服务器时,对所有的服务器分别进行配置是一项耗时耗力的工作,该平台 可以通过简单的操作就对一个环境中需要配置的新建服务器进行配置,大大减少了配 置时间。3 .为公司提供了一套可以对虚拟化服务器进行管理的平台,往往在一个物理服 务器中会存在至少几十台虚拟服务器,这些服务器又可能分别属于不同的环境中,改 平台提供了一种以虚拟服务器为单位,同时以环境为组对服务器进行管理的平台。同 时平台乂可以对各个服务器的状态进行监控,查看当前服务器是否在线以及资源利用 情况,并根据这些对服务器继续调整。4 .提供了一套统一对环境进行代码升级的平台,在以往的升级中如何要进行代 码更新就需要
5、进入所以需要进行代码更新的虚拟服务器后台对所有服务器逐个进行 更新,使用这个平台结合svn代码服务器即可按照业务要求对需要更新的代码服务器 进行批量更新,大大简化了服务器代码更新流程。设计的主要内容该项目主要分为以下几个模块:平台首页;主要是对平台所有虚拟机状态进行监控,可是看到当前虚拟服务器是 否在线,以及各个虚拟服务器的配置等信息,并可以对某个服务器的详细信息进行查 看,可以时时看到当前虚拟服务器的CPU以及内存的利用情况,以便作出调整。服务器管理模块;该模块包括两个子模块,服务器的管理和服务器代码的升级; 其中服务器的管理部分将所有服务器以环境为单位进行分组,以便于管理,提供了环 境的新
6、建,修改,删除和管理(打开,关闭或者重启)功能,同时也提供了以虚拟服 务器为单位的创建(根据公司业务现在平台提供了 13种不同类型虚拟服务器的创建), 删除和管理(打开,关闭,重启以及修改服务器网络配置,密码等)功能。服务器代 码升级部分只需要提供svn代码版本号即可进行单个或是批量的服务器代码升级。服务器配置模块;该模块根据公司的业务流程分为了六个子模块,分别为DNS、 平稳度、网页篡改、爬虫、网页测速、三方通告,针对不同的服务需求提供了不同的 配置方案,在界面流程了这六个不同的服务配置过程相似;由于一般情况下需要配置 的服务器都处在同一个组中,为了避免不同环境中同一类型的虚拟服务器出现混淆
7、, 该配置模块也将对所有虚拟服务器按照环境进行分组,选择环境分组后可以对环境内 部的虚拟机进行服务配置。用户管理模块;主要提供平台用户的增加和删除功能,以及对用户的角色进行修 改;日志管理模块;平台中的所有操作都会被记录日志以便查阅;同时也提供了不同 的日志查找方式,例如按照日志类型,操作虚拟服务器的类型,时间等。系统设计的重点1 .虚拟服务器状态监测,能够快速的对当前平台的所有服务器的状态进行监测, 当前服务器是否在线,以及资源利用情况,以便与作出调整;2 .虚拟服务器的管理功能,有效的对平台中几十甚至上百台服务器进行快速和有 效的管理;同时能够快速的搭建一个新的可用的环境用于生产测试3 .
8、虚拟服务器的配置功能,能够针对不同的服务来对环境中的服务器进行不同的 配置;设计的难点:1 .公司使用的虚拟化服务器方案为VMware vSphere,为了使新创建的服务器可以 更快的对外提供服务,我们将用克隆现有虚拟服务器的方法来进行服务器的新建,而 在官方的SDK的克隆接口并不支持vSphere;2 .由于对虚拟服务器配置时用户可能一次性选择很多服务器进行批量配置,如何 实现并行配置以节省时间;3 .如何实现当svn代码服务器中的代码版本升级时平台也可以自动对平台中的服 务器代码进行升级;4 .随着平台使用时间的增加和平台中管理的虚拟服务器的数量的增加,日志数量 可能会变得极为庞大,如何优
9、化以实现日志的快速查找;设计方案:项目背景公司当前使用VMware Sphere虚拟化服务器方案,在研发和测试中往往存在多 个不同的环境,同时一个环境中又包括很多不同类型的虚拟服务器提供服务,管理和 配置这些虚拟服务器就变成了一项很费事费力的工作,每当要建立一套新的环境用于 研发或者测试时往往需要耗费一个人儿周的时间,如果要对现有的虚拟服务器进行配 置或者更新的话又是一项极为繁重的工作。所以该自动化部署平台提供了一套方便的 虚拟化服务器的管理和配置方法,大大节省了人力资源。理论基础1 .Django Web Framework;Django是一个开放源代码的Web应用框架,由Python写成。
10、采用了 MVC的软 件设计模式,Django拥有完善的模板机制、对象关系映射机制以及用于动态创建后 台管理界面的功能,利用Django,可以快速设计和开发具有MVC层次的Web应 用。在实体映射方面,Django的对象相关映射机制帮助开发者在Python类中灵活定 义数据模型,并且Django具有功能丰富的动态数据库访问API,可以大幅度简化书 写SQL语句的繁杂工作。同时Django支持包括Postgresql, MySql, Sqlite, Oracle 在内的多种后台数据库。使用Django可扩展的内置模板,可以将模型层、控制层与 页面模板完全独立开来进行编码。2 .Fabric;Fab
11、ric是一个Python (2.5-2.7)库和命令行工具,用来流水线化执行SSH以部 署应用或系统管理任务。具体来说,Fabric是一个Python库,只要目标机器支持ssh 访问,就可以借助fabric来进行远程操作,在功能的丰富程度和运维脚本的可维护性 上,远远超过用shell实现的自动化部署脚本。3 .vSphere Web Services SDK;用VMware提供的官方vSphere SDK,提供了许多方法来对vSphere中的实例进 行管理。4 .html, css 以及 ajax;5 .svn的版本控制;6.Mysql数据库设计以及优化;解决问题的方法与步骤;1 .对公司现有
12、的业务流程进行分析,发掘具体的需求;2 .针对需求对系统的整体架构进行设计;3 .将系统细分为模块,定义各个模块之间的关系和接口;4 .对模块内部进行详细设计;5 .采用Scrum敏捷迭代的方法,对系统进行编码实现;6 .对系统进行测试;预期成果1 .系统通过测试,成功部署运行。2 .完成对系统重难点的研究和解决。3 .简化虚拟服务器管理配置流程,帮助公司大大减小虚拟服务器的配置和管理时 间;4 .完成任务书中安排的任务。主要参考文献:1王伟纲.服务器虚拟化J.金融科技时代,2011, 19(5): 18-18.12闫红梅.服务器虚拟化J.网管员世界,2008 (16): 27-27.31 S
13、teinder M, Whalley I, Carrera D, et al. Server virtualization in autonomic management of heterogeneous workloadsC/Integrated Network Management, 2007. IM07. 10th IFIP/IEEE International Symposium on. IEEE, 2007: 139-148.4刘班.基于Django快速开发Web应用J.电脑知识与技术:学术交流, 2009, 5(3): 1616-1618.5王冉阳.基于Django和Python的
14、Web开发J.电脑编程技巧与维护, 2009 (2): 56-58.6 Mishchenko D. VMware ESXi: Planning, Implementation, and SecurityM. Cengage Learning, 2010.7郑小长,闫格.基于VMware vSphere环境下虚拟服务器集群的构建J. 漳州师范学院学报:自然科学版,2013(1): 44-46.81韩奕,姜建国,仇新梁,等.基于云计算的恶意程序检测平台设计与实现 恶意程序检测平台设计与实现J. Computer Engineering, 2014, 40(4).9王文义,武华北. Linux中进程
15、间信号通信机制的分析及其应用J.计算机 工程与应用,2005, 41(3): 108-110.10王迎庆.证券公司证券营业部网络系统的虚拟化设计技术J.信息系统工 程,2014(8): 52-53.11邓仲举.高可靠性集群部署的设计与实现D.华中科技大学,2012.12段春乐.虚拟化技术在图书馆服务器整合中的应用一一以西安科技大学 图书馆为例J.科技情报开发与经济,2014 (7): 95-96.13方斌.基于虚拟化的金融实验教学平台搭建的选择标准J.电子制作, 2014, 24: 085.毕业设计(论文)进度安排:序号毕业设计(论文)各阶段内容时间安排备注1项目需求分析2015. 11. 15-2012项目系统设计6. 1.203各模块编码实现2016. 1.20-2016 .3. 204测试2016. 3. 20-20164. 105编写论文2016. 4. 10-2016 .5. 10指导教师意见:指导教师(审核签名):审核日期: 年 月 日
限制150内