论文部分内容阅读
近年来,云计算作为一种新兴的计算模式,它已经逐渐成为学术界和工业界最热门的研究领域。云计算具有超大规模、虚拟化、数据存储可靠、高度共享、可扩充以及廉价等特点,它的飞速发展促进了企业的传统IT信息架构的变革,使得基础设施资源、软件应用和信息都以服务的方式向用户供给,充分体现了互联网的开放性。而随着云计算的蓬勃发展,软件开发也从传统的封闭平台环境逐渐转向互联、互通、合作的云环境,这也为软件应用的开发平台、设计模式和开发流程管理带来了新的改变。 通常,传统的应用程序开发流程繁琐且难以管理,开发的各个环节总是存在着诸多问题,开发环境的配置与维护给开发人员带来了额外的工作负担。此外,应用程序开发周期相对于几分钟就能创建出的云基础设施资源过于漫长,开发团队迫切需要云环境下的一套自动化的规范开发管理流程,来帮助缩短开发周期,使之能匹配云计算的自动化特性,并减少管理成本。因此,如何构建一个云环境下的应用开发管理平台就成为本课题研究的重点内容。 本文结合了开源自动化运维工具Ansible、SNMP协议等,以OpenStack为基础技术平台,设计并实现云环境下的应用开发管理平台。本文的主要内容包含以下三个方面: (1)设计和实现了动态构建和部署应用开发环境的功能,通过可拖拽的图形界面或者脚本,在启动实例时动态配置软件来达到自动化部署的目的,如实例的OS版本、用于开发的IDE工具、编程语言环境等。 (2)设计和实现了基于角色访问控制的环境分域管理,使得应用程序在迭代开发中不断产生更新与补丁,能安全的有序的从开发环境同步到测试和生产环境,并维护应用程序在各个环境中升级与更新,以提高应用程序开发的安全性、可预测性,使得开发流程更易于管理。 (3)设计和实现了面向不同应用架构提供弹性的资源管理和调度机制,使得该应用开发平台即使同时容纳多个开发团队时,能优化平台资源分配,提高资源利用率。使得既能满足应用架构对环境的需求,又能满足应用业务随着时间逐渐增长和扩展的需求,从而使得云资源利用率最大化。