论文总字数:31161字
摘 要
随着云服务、云平台等概念愈发火热,PaaS(Platform-as-a-Service:平台即服务)云平台也愈发引人注目,越来越多的组织也想搭建自己的PaaS平台。最早的PaaS平台方案初步解决了很多客户对于应用弹性的需求,但是在容器技术出现之前,构建一套PaaS平台面临着组件多、量级大、改造成本高等挑战,而且对于运行在不同 PaaS 平台上的应用,很难避免应用对平台的深度依赖。
容器技术的出现,很好地解决了上述问题。容器是以应用为中心的虚拟化环境,与编程语言、技术栈无关,比传统PaaS灵活;对应用的支撑也比底层平台多,可以发挥微服务架构的优势。同时,容器是基于轻量级虚拟化的技术,天生具有高密度的特性,可以更加高效地使用资源。
本文初步完成了基于容器技术的PaaS云平台的技术选型和架构设计,并着重论述如何设计和实现部署模块,完成了部署模块资源管理、任务序列、异步消费请求三项基本功能需求和其他非功能需求,达到连接业务系统与容器云平台的作用。
关键词:PaaS;容器技术;Docker;Kubernetes;部署
ABSTRACT
With the concept of cloud services and cloud platforms becoming more and more hot, the PaaS (Platform-as-a-Service) cloud platform is becoming more and more eye-catching. More and more organizations want to build their own PAAS platform. The earliest PaaS platform solution preliminarily solved many customers' demand for application elastic scaling, but before the emergence of container technology, building a PaaS platform faced challenges such as multiple components, large scale, high transformation cost, and it is difficult to avoid the application's deep dependence on the platform for applications which running on different PaaS platforms.
The emergence of container technology has solved the above problems very well. The container is an application-centric virtualized environment. It has nothing to do with the programming language and technology stack. It is more flexible than the traditional PaaS. It has more support for the application than the underlying platform, and can take advantage of the micro-service architecture. At the same time, containers are based on lightweight virtualization technology, inherently high-density features that make resources more efficient.
This thesis initially completes the technical selection and architecture design of PaaS cloud platform based on container technology, and focuses on how to design and implement deployment module to fulfill three basic functional requirements: resource management, task sequence, consuming requests asynchronously and other non-functional requirements of deployment module, so as to achieve the function of connecting business system with container cloud platform.
KEY WORDS: PaaS;Container technology;Docker;Kubernetes;Deploy
目 录
摘 要 I
ABSTRACT II
第一章 绪论 1
1.1 课题背景 1
1.2 本文工作 1
1.3 论文组织结构 2
第二章 相关技术背景 3
2.1 SaaS、PaaS、IaaS基础概念 3
2.1.1 SaaS:软件即服务 3
2.1.2 PaaS:平台即服务 3
2.1.3 IaaS:基础架构即服务 4
2.2 容器技术与docker 4
2.3 Kubernetes:生产级别的容器编排系统 5
2.4 本章小结 7
第三章 云平台设计 8
3.1 容器及编排技术选型 8
3.1.1 容器选型 8
3.1.2 编排引擎选型 9
3.2架构设计 10
3.2.1 系统架构 10
3.2.2 逻辑架构 11
3.2.3 技术架构 11
3.2.4 部署架构 12
3.3 本章小结 13
第四章 部署模块需求分析 14
4.1 部署模块总体需求 14
4.2 各项功能需求分析 14
4.2.1 资源管理 14
4.2.2 任务序列 15
4.2.3 异步消费请求 16
4.3 模块非功能需求 17
4.4 本章小结 18
第五章 部署模块概要设计 19
5.1 总体架构设计 19
5.2 部署架构设计 20
5.3 数据结构设计 21
5.3.1 数据库设计 21
5.3.2 配置文件设计 23
5.3.3 模板文件设计 23
5.4 本章小结 23
第六章 部署模块详细设计与实现 24
6.1数据结构详细设计 24
6.1.1 数据库设计 24
6.1.2 配置文件设计 30
6.1.3 模板文件设计 31
6.2 功能模块设计和实现 32
6.2.1资源管理 32
6.2.2任务序列 35
6.2.3 异步消费请求 39
6.3 非功能需求实现 41
6.4 本章小结 44
第七章 部署模块测试 45
7.1 测试环境 45
7.1.1 测试机配置 45
7.1.2 软件说明 45
7.2 功能测试 45
7.2.1 资源管理 45
7.2.2 任务序列 48
7.2.3 异步消费请求 50
7.3 非功能需求测试 50
7.4 本章小结 51
第八章 总结与展望 52
8.1 工作总结 52
8.2 未来展望 52
参考文献 53
致 谢 54
第一章 绪论
1.1 课题背景
随着信息化系统愈加庞大,系统实现和部署愈加复杂,各个开发商普遍的采取了以下两种应对方法:其一,通过改进开发模式来处理。这种方法通常是使用敏捷开发模式,应对系统的庞杂,不断地修正应用系统设计以适应需求越来越快的提出和变化。其二,使用企业级开发框架,来建设庞大的业务系统。但是,不论通过改进开发模式,还是使用企业级开发框架,依然会面对一系列开发中的实际问题,如难以搭建和升级环境、难以高效的团队协作、难以保证工作质量等。随着云时代的来临,解决面临的挑战似乎看到了希望.从SaaS的概念的实现,到IaaS的实现,似乎从虚拟化的技术中,可以找到一定的解决方案。但是,以上这些仅仅是在生产环境的实施中找到了初步的解决方案。而对于研发的相关问题,仍然找不到合适的答案。而PaaS(平台即服务)的出现,将开发人员的关注点从原有的基础资源上升到应用层面,隐藏了基础资源层面实现的细节,提供了一整套流程给开发者创建、管理、部署应用,提高了开发的效率。PaaS的到来,给研发人员带来了曙光。然而,企业级PaaS一直不是很成熟,安全性、稳定性、可靠性等各个方面的不成熟让各个开发商依然持保留态度.直到Docker的出现,这一局面获得了全面的改观.Docker使用高效的容器技术和其先进的设计理念,以非常高的安全性、稳定性、高效性[1],让开发商敢于迈进企业云的时代。包括谷歌、百度在内的众多IT巨头向Docker展开了怀抱。
本文初步完成了基于容器技术的PaaS云平台的技术选型和架构设计,并为满足云平台资源部署需求,详细设计和实现了资源部署模块,提供资源管理、任务序列功能、异步接受请求等功能需求和其他非功能需求,使模块安全、稳定、可靠的运行,保证持续的对上层模块提供服务。
1.2 本文工作
在本论文中,主要工作包括参与设计基于容器技术的PaaS云平台的技术选型和整体架构,并且着重设计和实现连接业务系统和容器云平台的部署模块。
剩余内容已隐藏,请支付后下载全文,论文总字数:31161字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;