基于容器的开发者服务平台设计与实现

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:bobosiji123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的不断发展,个人和小型团队开发者如雨后春笋般不断涌现出来,应用数目呈现高速增长趋势,传统自给自足的研发方式难以满足需求。平台即服务(PaaS)为应用程序提供基础运行环境,并统一管理应用的部署和依赖关系,极大方便了应用开发者。Docker容器基于LXC的轻量虚拟化特点,启动速度快且占用资源少,为PaaS的构建提供了良好支持。本文的目标是研究和实现一个基于容器的开发者服务平台,既可以简化应用开发时的编程和部署工作,又有助于提高计算资源的利用率。  基于容器的开发者服务平台主要包括代码托管、自动化持续构建、容器部署和用户门户等模块的设计与实现。在代码托管模块中,平台搭建了一个私有的GitLab服务器,并基于OAuth2.0提供GitHub和GitLab的项目代码资源接入。平台利用Jenkins搭建了一套基于Git的持续集成环境,使用Jenkins-cli命令行方式让持续构建流程在后台自动化运行。容器部署模块中,开发者可以根据应用的实际需求指定部署容器的数量,平台为容器部署提供反向代理、负载均衡和服务发现功能;同时,平台实现了容器服务的管理接口,开发者可以在门户网站上进行应用服务的运行时管理。最后,平台实现了一套门户网站,来帮助开发者完成一键部署应用的功能。  本文对容器性能表现进行了实验,一台服务器同时运行400个Web网站容器实例后总的内存占用在100G以下且平均响应时间不超过4秒,相比于传统虚拟化技术而言,容器的使用大大提升了计算机基础资源的利用率。通过应用实例的验证,使用本文实现的基于容器的开发者服务平台,一键部署应用只需不到一分钟,加上应用自动化的持续构建,将开发者在过去每次更新代码后构建部署应用的繁琐工作中解放出来,说明了平台的简单实用性,能够为开发者提供便捷的服务。最后,本文验证了平台支持不同开发语言的应用,并分析了平台在部署时间和可伸缩性方面的性能表现。
其他文献
下一代互联网IPv6协议克服了IPv4协议的许多缺陷,使其能够更好的适应互联网的发展要求。但是要使IPv6网络代替现有的IPv4网络还需要经历漫长的过渡发展阶段。为了实现IPv6网
随着计算机网络的不断快速发展和广泛应用,维护网络环境的安全已经变得越来越重要。而且由于当前IPv4地址资源不足,IPv4向IPv6过渡已经成为必然。IPv4技术已经成功的在Intern
Internet的一个重要功能是信息的交流和共享,而查询检索又是获取信息的主要方法.网络技术和Web的快速发展给设计开发有效的网络资源检索工具提出了更高的需求.在纵 观国内外
恶意软件从早期的简单病毒、蠕虫逐步进化发展成实现特定目的木马、Rootkit等高级形态,并在网络空间中肆意传播,对用户的计算机系统造成严重的危害。对“暗云”木马、“海莲花
在远程教育管理系统中,远程教育模式按单点或多点、非实时或实时、非交互或交互可分为八种模式.这八种模式的划分实质上就是目前移媒体技术中的CSCW(Computer Supported Coop
近年来,越来越广泛的海量小文件应用,对传统分布式文件系统提出了低延迟的挑战。由中国科学院计算技术研究所基于pNFS自主研发的客户端可写的元数据缓存系统,采用客户端缓存技术
随着互联网的飞速发展,用户需要面对的数据越来越多,要想从这海量的数据中有效地找到符合需求的数据,当前只能使用搜索引擎。然而实际上大多数用户面对搜索引擎返回的成千上
随着云计算、大数据和web服务的发展,数据中心中出现了一类轻量级的可扩展负载。传统高性能服务器对这类负载的适配性不好,主要体现在服务器计算密度低,资源利用率不高以及可扩
随着通信网络和计算机网络的发展,网络融合是下一代网络发展的必然趋势。VoIP (Voice over IP)是在P网络上传送具有一定服务质量的语音的业务,是近几年内发展起来的一种新的
近年来,信息技术的普及和硬件技术的快速发展,为大数据产生与存储提供了先决条件。在商业上、科研机构、政府部门等都存储着大量的数据。而如何从这些大量的数据集中提取有用