论文部分内容阅读
在移动互联网的浪潮中,云计算时代的到来,引导了开发者将应用的重心转移到云上。云计算以按需付费的模式将计算资源交付给客户,它通常涉及到配置的动态可扩展性和资源的虚拟化,未来的发展趋势是以更灵活、高效地方式管理复杂的计算环境:开发者不但可以使用稳定的应用运行环境和丰富的组件,而且只需关注核心的业务逻辑而非部署环境和扩缩容等问题。尽管目前大多的云计算平台仍然是基于虚拟机在运行,但使用虚拟机进行资源管理的效率较低,所有它并不是交付应用程序最有效的方式。因此Linux增加了cgroup来对服务运行时的环境进行隔离,这一技术被称为容器,它比传统的虚拟机更轻,可以减少在处理资源请求的响应时间;它可以共享硬件资源,提高云平台的资源利用率。随着Docker利用容器技术将应用程序标准化,保证应用程序在不同平台上实现便携性,使得容器技术在云计算领域的影响进一步扩大。本文提出了一个在PaaS层轻量级的资源管理方案,以Docker容器为云平台的一个虚拟资源单位,作为应用部署的载体,并设计和实现了对Docker容器的监控和调度。容器监控和应用调度是云平台使用Docker的核心技术,容器技术为托管云平台上的应用提供的稳定的运行环境,而监控机制可以实时掌握云平台资源的性能和应用运行情况,调度机制则保障了资源的高效利用。本文基于对业界各PaaS云平台的分析和调研,提出了云环境下容器的监控和调度的解决方案,不仅可以提供灵活、快速的应用部署环境,还对容器的监控调度进一步研究和深化,保证了云资源的高效利用和弹性伸缩。本文从云计算技术的发展入手,介绍了容器技术在应用管理和资源利用的优势;接着调研了目前业内的云平台,分析了它们的优缺点;针对现有云平台的环境配置复杂、资源浪费等问题,提出一种基于Docker容器的解决方案;进一步提出基于Docker容器的PaaS云平台应用调度体系结构,给出容器监控和资源调度系统设计方案,并实现相应的技术。