论文部分内容阅读
随着互联网的不断发展,个人和小型团队开发者如雨后春笋般不断涌现出来,应用数目呈现高速增长趋势,传统自给自足的研发方式难以满足需求。平台即服务(PaaS)为应用程序提供基础运行环境,并统一管理应用的部署和依赖关系,极大方便了应用开发者。Docker容器基于LXC的轻量虚拟化特点,启动速度快且占用资源少,为PaaS的构建提供了良好支持。本文的目标是研究和实现一个基于容器的开发者服务平台,既可以简化应用开发时的编程和部署工作,又有助于提高计算资源的利用率。 基于容器的开发者服务平台主要包括代码托管、自动化持续构建、容器部署和用户门户等模块的设计与实现。在代码托管模块中,平台搭建了一个私有的GitLab服务器,并基于OAuth2.0提供GitHub和GitLab的项目代码资源接入。平台利用Jenkins搭建了一套基于Git的持续集成环境,使用Jenkins-cli命令行方式让持续构建流程在后台自动化运行。容器部署模块中,开发者可以根据应用的实际需求指定部署容器的数量,平台为容器部署提供反向代理、负载均衡和服务发现功能;同时,平台实现了容器服务的管理接口,开发者可以在门户网站上进行应用服务的运行时管理。最后,平台实现了一套门户网站,来帮助开发者完成一键部署应用的功能。 本文对容器性能表现进行了实验,一台服务器同时运行400个Web网站容器实例后总的内存占用在100G以下且平均响应时间不超过4秒,相比于传统虚拟化技术而言,容器的使用大大提升了计算机基础资源的利用率。通过应用实例的验证,使用本文实现的基于容器的开发者服务平台,一键部署应用只需不到一分钟,加上应用自动化的持续构建,将开发者在过去每次更新代码后构建部署应用的繁琐工作中解放出来,说明了平台的简单实用性,能够为开发者提供便捷的服务。最后,本文验证了平台支持不同开发语言的应用,并分析了平台在部署时间和可伸缩性方面的性能表现。