基于Docker技术的高校教育云构建
来源:用户上传
作者:
摘要:云服务是当代信息时代的热点产品,它通过其高性价比、高利用率、高可扩展性及高容错性等特点得到各个行业和领域的青睐。然而,国内仍有很多高校没有进行教育云的技术升级。该文通过探讨当前虚拟化技术存在的问题,结合高校业务需求分析了教育云建设的必要性和可操作性。通过整合高校已有硬件与网络资源提出了一套基于docker技术建设教育云的低成本解决方案,对教育教学信息化云平台建设有一定的借鉴作用。
关键词:虚拟化;教育云;Docker;容器
中图分类号:G434 文献标识码:A
文章编号:1009-3044(2019)35-0230-02
1 背景
随着互联网技术的快速发展,为了进一步提高硬件资源的利用率,越来越多的虚拟化技术和产品孕育而生。为了适应不同业务需求的快速开发和持续运维,云服务通过其性价比高、操作方便、可扩展性强的优势,在各个行业和领域迅速拓展。目前,高校教育行业的云服务应用尚处于起步阶段,很多高校的云服务项目是依托系统集成企业完成其构建,并且通过企业培训后,由专职教师进行运维管理的模式。但是在云服务实施过程中,建设投入的不同,平台成熟度的差异,以及专职教师管理水平的高低,造成不同高校的云服务实施效果大相径庭。
2 存在的问题
目前,高校因技術资源的不足,数据中心或服务器绝大多数高校基础设施比较老旧,不同时期的资源配置差异性较大,为了提高现有设备的利用率,往往是通过企业协助高校实施传统的虚拟化技术,例如:KVM、VirtualBox和VMWare Workstation等。但是,传统虚拟化技术对硬件的要求比较高,并且在部署与运维方面实施难度大、技术门槛高。国内外教育云主要是以三种常见虚拟机技术为核心,设施即服务(Infrastructure-as-a-Service,IaaS)以虚拟机为粘合剂整合硬件与网络资源,并且重新构建基本单元;平台即服务(Platform-as-a-Service,PaaS)以虚拟机为平台搭建开发和部署环境,无须考虑基础设施的实际分布;软件即服务(Software-as-a-Service,SaaS)以虚拟机为生成直接面向用户的网络化应用软件。看似成熟的虚拟化技术,在教育领域应用时也存在各种问题。
2.1基础资源有限的IaaS
国内高校既会因为教育资源匮乏、经费不足等原因,造成计算机基础资源有限,无法满足IaaS随时扩展基础硬件设施的需求,又会存在大量的资源浪费问题,有的甚至一台高性能服务器作为一个并发数小于50的Web应用主机。传统高校数据中心采用实体机或者虚拟机承载应用服务,这些实体机和虚拟机都需要安装完操作系统后,才能部署应用服务。所安装的操作系统会大量消耗系统内存和CPU,造成资源的浪费。在一些研究成果中表明,较少的基础资源也可能造成无法发挥IaaS方案的效能[1]。
2.2自主性较差的PaaS
高校不同专业的应用服务所需部署环境差异明显,每次安装新的应用服务都需要重新安装新的应用部署环境,无法将应用服务部署环境和应用打包作为一个整体进行有效的复用和管理。传统高校的应用服务当需要从一个资源池迁移到另外一个资源池时,必须重新安装操作系统和应用部署环境,才能进行应用服务的整体迁移[2]。节省计算机资源,更细化用户需求,基本可以做到免运维。但可能会导致用户无法感受到虚拟化的环境,无法控制自己的虚拟服务器,限制了用户的自主性和灵活性。对于高校的某些专业可能无法满足课程的需求。
2.3安全性较低的SaaS
SaaS有着“低风险,一旦部署立即使用”“前期投入资金少,有利于高校发展”“中期的维护、升级成本低”的特点[3]。这些特点有利于适用国内构建成本低、资金相对少、维护成本低的各大高校,但这种以外包的方式实现高校云服务可能会存在数据安全难以保障的问题,更改服务成本较高等问题。
3 解决方案
教育云解决方案是以高校的教育云数据中心为核心,为教育资源共享,教育管理服务平台的提供一个完成的基础环境。高校主要提供服务器、存储、网络等基础设备,发挥云计算、云存储、云网络的技术积累,为教育应用软件的部署、运营提供安全、稳定的支撑平台。以可视化管理和安全架构实现ICT资源精细化管理、高效使用。Docker很早就被google、IBM等业界IT公司所支持[4],是仅次于OpenStack的开源云计算项目,同时也是一个开源的容器引擎,可以让任何容器应用打包成为一个镜像发布到任何的Docker镜像仓库中去。其采用的是系统层次的虚拟化,运行的容器是基于进程级别的,属于一种沙箱机制,相互之间不存在接口,且依赖于linux内核。Docker相比与传统的Zen,VMware,KVM等虚拟化技术,有着更高效的利用系统资源、更快速的启动时间、更轻松的迁移、更轻松的维护和扩展。Docker以更低成本实现了高校硬件和网络资源统一化、自动化管理。
目前,两大主流框架Docker Swarm和Google Kubernetes,Google Kubemetes过于复杂的命令及大型的框架对于,在高校内构建私有云不适用,甚至有些多余了,而反观Docker Swarm,它是Docker的原生框架,不会出现不兼容及复杂的问题,并且它一直在升级,可以进行后续的扩展,对于高校而言,DockerSwarm是较好的解决方案。在Docker Swarm控制主机之中,管理人员可以方便地创建、更改、销毁一个容器,同时也可以方便的添加真实服务器,当云计算资源不够的时候管理人员可以方便地添加真实服务器提高整个计算平台的资源水平,当用户对于系统进行了无法回退的更改之时,管理人员可以方便地重新创建一个新的容器供用户使用,同时创建容器时会保留一个副本容器,当某台真实容器损坏宕机之时可以保留下用户的资料,同时在访问量过大的时候达到负载均衡的效果,使高校平台具有良好的可扩展性和可靠性。以往在高校的机房里部署应用的时候往往要重复几遍或几十遍的部署操作,部署起来十分麻烦,而Docker可以将所要部署的应用打包成镜像,再从各个分布广泛的工作站docker中拉取。也可以初始化一个dock-er swarm主机,再通过docker的内置调度机制等自动部署同一个网络下的docker应用。 高校教育云服务对象主要是教师和学生,根据教学的需要向教育云申请系统.平台或程序的容器。除此之外,还有一些用户是高校的云服务管理员,他们属于教师的代理用户。因此,教育云在实施过程中还需要分配三类用户角色与权限:1)管理员角色是所有云容器的查看平台,只有授权的管理员才能登录和管理,并拥有该教育云的最高运营权限,除了对容器进行创建、重置和销毁外。管理员还应维护容器的运行状态,检查是否存在容器宕机、资源溢出或存在其他非法操作。2)学生角色是根据教学计划安排为学生提供一个或多个学生容器进行教学实验,给予学生拥有容器的操作权限,实验结束销毁容器,回收资源。为更好地调度资源一般情况下是不会也不应该为学生提供持久的容器使用。3)教师角色是根据不同专业的教师需要提供一个或多个实验教学容器,并且有持久使用权和对容器的最大控制权限。教师还可以在此容器上搭建其他教学服务程序或存储文件资料等。需要注意的是docker默认情况下是通过命令行的方式进行交互的,具有很高的技术门槛,但是docker API是相当丰富的,完全可以通过安装UI组件或者二次开发,实现Web端的图形化界面操作。
4 结束语
综上所述,以docker技术在教育云的应用是先进技术的架构、教学管理的经验、思维方法的创新相融合,以较少的资金投入改善了传统教育教学资源有限、分配不均、扩展性弱和性价比低的缺点。在一定程度上平衡了高校间的资源差距,实现信息技术与教育的深度融合。当前,教育云有着广阔的发展空间,良好的弹性服务能满足教育教学的多样化、个性化及可持续发展的要求,成为缓解信息孤岛问题,促进教育云互通互联、資源共建共享目标的基本保证。但是,由于面向不同的用户、层次和学科,其行业标准、技术标准、接口标准等仍需进一步的探索与规范。
参考文献:
[1]孙伟龙.基于IaaS云计算的Web应用技术研究[D].南京:南京理工大学,2011.
[2]刘峻基.云计算:体系架构与关键技术的综述[J].中国战略新兴产业,2017(44):9-10.
[3]温静,任铄.SaaS模式下的信息安全探讨[J].电脑知识与技术,2009, 5(18):4947-4948.
[4]张建,谢天钧.基于Docker的平台即服务架构研究[J].信息技术与信息化,2014(10):131-134.
【通联编辑:谢媛媛】
收稿日期:2019-10-19
基金项目:学院大学生研究性学习与创新性实验计划项目(项目编号:DFCXY201718)
作者简介:周宗营(1999-),男,湖南湘乡人,本科生,计算机科学与技术专业;卢俊玮(1979-),湖南长沙人,通讯作者,副高,博士,研究方向为教学信息化、虚拟化技术。
转载注明来源:https://www.xzbu.com/8/view-15123456.htm