基于容器技术的智慧校园大数据平台持续集成研究

2017-11-08 15:06贺宗平张晓东曹萍
智能计算机与应用 2017年5期
关键词:大数据平台容器

贺宗平+张晓东+曹萍

摘要:本文首先介绍了高校IT平台的体系架构现状,分析了智慧校园大数据平台建设的意义和需求,着重阐述了PaaS层在持续集成中的重要地位和作用,通过引入Docker容器技术,对大数据平台组件和上层应用系统进行容器化,结合自动化管理系统、私有代码仓库等工具,高效地实现了智慧校园大数据平台从开发、测试到部署的持续集成流程与框架。

关键词: 容器; Docker; 大数据平台; 持续集成

中图分类号: TP311

文献标志码:A

文章编号:2095-2163(2017)05-0038-03

Abstract:This paper first introduces the present status of the architecture of the IT platform in colleges and universities, analyzes the significance and demand of the big data platform construction for the intelligent campus, and expounds the important position and function of the PaaS layer in the continuous integration. By introducing the Docker container technology, the research develops components and the upper application system for containerization, combined with automated management system, private code warehouse and other tools, efficiently implements the continuous integration processes and framework of the intelligent campus big data platform from development, testing to the deployment.

Keywords: container; Docker; big data; continuous integration

基金項目: 南京审计大学2016年高教研究课题(2016JG027)。

0引言

大数据平台正成为一种重要的软件平台设施,对于高校开展智慧校园相关的信息化建设有着重要的作用,其建设、管理和运维关系到高校的教学科研、行政管理等全方面信息化、智能化管理水平的提升。随着大数据平台的体系架构走向成熟,加上容器技术的逐步推广使用,IT产业界开始拥抱"Docker容器 + 大数据平台"。Docker容器能够让大数据平台的架构部署更加快捷简单,让上层应用系统的开发、集成、部署更加敏捷高效,无缝对接测试与生产环境,让敏捷开发(Agile development)的持续集成理念真正落地。因此,开展基于容器技术的大数据平台持续集成相关技术研究,对于智慧校园的建设具有十分重要现实意义。

1高校大数据平台建设的挑战与需求

在互联网IT技术飞速发展的背景下,高校的科研教学、行政管理、后勤服务、安全保卫等各项业务工作的信息化、智能化需求急剧扩张,对IT平台的数据存储、处理以及应用开发的及时响应能力提出了升级转型的需求。为此,将给出研究阐释如下。

1.1当前高校IT平台的现状

与一般政府、企业等机构相比,高校的IT架构既存在一般性,也具有行业特殊性,目前的主流体系仍然是包括了IaaS、PaaS、SaaS的3层架构。高校IT平台体系架构设计可见于图1。这里,即针对各层的技术功能可做如下解析。[JP]

1)IaaS层。一般高校现有的IT设施平台具备了一定的系统集成基础、架构弹性扩展能力,通过建设数据中心、运用vSphere等虚拟化技术、实施集群架构,实现了基础设施即服务的能力,为高校内部提供了较为完备的基础资源支撑服务。

2)PaaS层。某种程度上也可以是一种中间件, PaaS指的是一整套开发和分发应用的解决方案,是系统集成和部署的关键层,包括了集群管理、应用开发管理、数据仓库管理、应用开发协作等具体内容。

3)SaaS层。这一层就是现实业务应用层,通过Web、信息门户以及独立应用系统等方式设计建立服务,直接面对高校的教学、科研人员以及行政管理人员等。

IaaS层和SaaS层的界定相对清晰,IaaS层是对硬件资源的统一管理调度,SaaS层就是用于发布生成应用服务。而PaaS层则是整个IT平台的技术管理难度居首的一个层级,从定位上看,PaaS层是一个中间层次,承接了上下2个“软、硬”资源层的协调交互,既要实施对第一层IaaS计算资源的进一步抽象和管理,又要为SaaS应用层的开发、集成、部署提供接口和工具支撑。

1.2高校大数据平台的建设需求

伴随着高校信息化水平的提升,各种业务应用已经产生了数据存储分析、深度挖掘的需求。无论种类各异的业务应用还是科研过程,都向传统的数据库平台提出了新的建设目标和能力需求。但是在高校的大数据平台建设定位中,不能简单地套用互联网行业的大数据平台标准,高校的应用场景目前还没有频繁度极高的并发事务响应需求,对实时计算的能力要求一般集中在科研实验方面,业务应用的各项数据服务标准并不需要完全复制互联网行业。

从研发人力资源上看,高校内部常规情况下并未配备专业从事系统研发的团队,多数是以外包服务的方式进行开发部署。这种情况带来一个切实显著的问题是:应用系统后期的版本维护、升级往往难以跟上业务部门的需求变化,第三方厂家的服务能力局限度较高;面对庞大复杂的系统架构,由于研发人力资源的匮乏,难以协同配置代码改进、提交测试、集成部署等诸多环节。如何在研发、运维人力资源有限的条件下应对平台系统频繁迭代升级的需求增长,成为亟需解决的焦点难题。endprint

从平台整体架构上来看,PaaS层往往是高校数据平台建设容易忽略的重点,由于高校并不是专业研发机构,对于PaaS层的理解缺乏实践指导。PaaS层是平台资源服务化接口,PaaS的支撑能力关系到上层应用研发的全流程,尤其是在系统持续集成、部署环节,PaaS能够实现自动化管理,大幅降低人工运维的复杂性,使得Web应用的开发部署变得更加敏捷,能够快速响应业务需求变化,提高整体研发效率,节约了版本迭代成本,带来极大的便利性。

2Docker容器技术与持续集成

高校的智慧校园大数据平台是未来信息门户以及各种应用系统服务的运行基础,向应用层提供可靠的数据存储抽取、分析挖掘等服务编程接口,从某种程度上来说,大数据平台本身就是一种PaaS的具体实现。大数据平台的构成通常包括了Hadoop、Spark、Storm等软件平台环境,系统配置复杂、管理维护成本高,如何构设开发、测试、生产三者一致的环境,降低系统组件部署、迁移、升级的成本和时间,是大数据平台建设的重点与难点。对于高校来说,PaaS层建设完善的目的在于形成优异的持续集成能力,具备一套完整的项目构建、提交测试、部署上线的自动化工具,可以根据客观需求和管理需要,进行动态灵活的配置。

Docker容器技术是一种轻量级的虚拟化技术,资源占用少、运行速度快,以进程隔离的方式构建了运行环境的隔离,可以在单台物理机上运行多个容器,可利于推进集群管理,对于配置管理大数据平台有着较强的优势,更能方便在大数据平台建设中实践持续集成的理念。Docker相关的基本概念如表1所示。

综合概括Docker容器应用于持续集成领域,主要有3个方面的特点优势可概述如下:

1)高性能虚拟化。通过部署Docker能够有效利用闲置计算资源,Docker容器的运行不需要硬件层面Hypervisor支持,利用内核级虚拟化技术,既达到高性能效率的目标,又重点保证了容器具有很好的隔离性,基于Docker部署的平台和应用系统可以达到秒级启动的速度。

2)快速集成部署。通过Docker可以管理系统开发测试、集成部署的整个流程,Docker的容器和镜像概念已经成为行业标准,镜像是标准的交付件,通过对镜像的编排、分发、部署等管理操作,结合Jenkins等自动化集成管理工具,实现对基础平台和应用系统的迭代式构建,达成平台系统快速高效的技术定制集成部署。

3)轻松迁移扩展。Docker通过用“微服务”的方式组织编排系统,便于部署扩展的服务组件,其产生的镜像是跨平台的,无需考虑运行环境依赖等诸多问题,实现了测试环境和生产环境迁移一致性,真正做到“一次编译,到处运行”。

3智慧校园大数据平台建设的持续集成

智慧校园大数据平台的持续集成重点在于关注解决2个焦点问题:一是能够快速响应数据应用层的需求变化,践行敏捷开发的理念,实施分布式協同开发、测试与集成部署,实现校内外人力资源高效协同。二是能够快速移植,真正做到“一次编译、到处运行”,以方便进行大数据平台的基础架构调试,动态配置大数据平台组件引擎。

3.1大数据平台组件容器化

为了解决上述2个层面问题,首先要实施大数据平台架构组件的容器化,将构建大数据平台的组件如Hadoop、Spark等通过Dockerfile定制生成镜像,大数据平台的组件运行全部基于镜像生产的容器,组件容器组成容器集群,通过Swarm、Mesos等容器集群管理工具进行编排管理。

3.2应用层系统容器化

高校内部各种运行在大数据平台上的业务系统、Web应用也要做到容器化部署。传统的业务系统改进升级上线,需要面对系统重新配置、项目编译、环境依赖等多个繁杂的技术环节。通过Docker把应用系统及相关依赖项打包成独立可移植的镜像,让应用系统的设计实现同样基于Docker容器集成部署。

3.3构建本地私有镜像仓库

由于整个大数据平台以及应用系统进行容器化改造,在系统测试、集成环节中必然产生大量的镜像,可以通过构建本地私有镜像仓库,以此有效管理维护这些镜像。此外,很有必要采取对镜像仓库进行同步备份的机制,防止镜像仓库丢失、损坏等意外情况。

3.4基于Docker容器的持续集成框架

通过实施大数据平台整体的容器化构建,使得在系统集成环节发生了质变,无论是在应用层的需求变化响应还是平台服务层的架构调整,从基于源代码级别的编译构建组件跨入基于镜像的构建容器,将持续集成的抽象层次提升了一个高度。

4结束语

在高校的智慧校园大数据平台建设过程中,在引入互联网IT产业界先进技术平台的同时,应当同步学习先进的开发及运维管理模式,通过结合运用诸如Jenkins自动化管理系统、Gitlab代码仓库等工具,打通测试到上线的无缝转接,实现端到端的持续集成,在专业研发人力资源有限的条件下,大幅降低系统集成部署的难度,提升大数据平台以及相关应用系统的持续集成的自动化管理水平。

参考文献

郑玲,江萌. 基于Docker弹性调度架构的研究[J]. 电脑编程技巧与维护,2016(23):15-17.

[2] 李丽新. 基于Mesos和Docker构建大数据平台技术研究与应用[J]. 吉林建筑大学学报,2016,33(5):81-84.

[3] 张成. 基于Docker的持续集成系统的设计与实现[D]. 苏州:苏州大学,2016.

[4] 赵乐乐,黄刚,马越. 基于Docker的Hadoop平台架构研究[J]. 计算机技术与发展,2016,26(9):99-103.

[5] 钟炜达. 一种基于Docker的持续集成平台的设计与实现[D]. 广州:华南理工大学,2016.

[6] 李杰,刘广钟. Hadoop分布式集群的自动化容器部署研究[J]. 计算机应用研究,2016,33(11):3404-3407,3445.

[7] 陈存香,陈清金,张岩. Hadoop与Docker技术的融合[J]. 邮电设计技术,2015 (5):5-8.

[8] 高珺. 以持续集成方式进行系统自动化部署[J]. 华东师范大学学报(自然科学版),2015(S1):373-377.

[9] 王宁. 基于Jenkins的持续集成系统的设计与实现[D]. 北京:北京邮电大学,2014.[ZK)][FL)]endprint

猜你喜欢
大数据平台容器
难以置信的事情
怎样量出4升水
从容器的形状看压强
Hadoop性能测试自动化研究
基于大数据的智能停车场管理系统设计
基于大数据分析的智慧仓储运营支撑平台设计
液体对容器底及容器对桌面的压力和压强
袜业行业大数据平台的应用研究
取米