曾明星,周清平,蔡国民,陈生萍,黄 云,董坚峰
(吉首大学软件服务外包学院,湖南张家界 427000)
基于校园私有云的软件工程实验实训综合平台研究与实践
曾明星,周清平,蔡国民,陈生萍,黄 云,董坚峰
(吉首大学软件服务外包学院,湖南张家界 427000)
阐述了云计算的概念、发展现状与云计算在教学中的应用;进行了基础设施层、平台层、服务层的私有云架构设计,运用虚拟化技术构建了虚拟机群集,并提出了基于虚拟机群集的实验实训私有云服务平台架构方案。以吉首大学为例,阐述了软件工程云教育平台的实施情况及主要功能。该云教育平台不但能降低高校实验实训基地的建设与运行成本,而且能大力提升学生的训练效果。
软件工程;实验实训;软件开发;私有云;虚拟化
软件工程具有很强的实践性、应用性,实验实训教学环节至关重要[1]。传统软件工程实验实训教学中存在的主要问题是:(1)实验实训室大多采用PC模式,每台PC机有一套独立的资源,缺乏共享,大量资源被浪费[2];(2)计算机硬件与软件的更新速度快,实验室更新设备的建设成本高;(3)实验室使用时间集中,课后很少开放,出现资源紧张与闲置并存的情况。利用云计算技术建立软件工程实验实训平台,可使实验室使用率提高50%以上,能耗降低40%以上,硬件投入减少30%~60%[3],还可减少运维工作量,提高学生训练效果。
云计算是一种新型的互联网服务模式,将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算资源、存储空间和信息服务[4]。云计算是并行处理、分布式计算和网格计算的发展,是虚拟化、效用计算、负载均衡等概念混合演进的结果[5],具有虚拟化、超大规模、高通用性、高可靠性、高伸缩性、按需服务、极其廉价等特点[4]。
云计算是继个人计算机和互联网变革之后的第三次IT浪潮,Google、Amazon等一些大公司引领着云计算技术的发展。2010年10月,国家发改委与工业和信息化部联合发布《关于做好云计算服务创新发展试点示范工作的通知》,明确了国家发展云计算的总体思路和战略布局,推进了我国云计算产业的发展。2009年,黎加厚教授提出了“云计算辅助教学”(cloud computing assisted instructions,CCAI)概念[6]。云计算走进高校,将有力支持教育教学,提高教学质量。
近年来,国内外学者对云计算的教育应用进行了许多研究,例如云计算的教育应用价值和经济性,网络学习资源的开放性和共享性,云计算教育的基础设施模型和应用程序模型,云计算的安全性、可靠性和可移植性等[7-10]。国内学者关于云计算的教育应用研究主要集中于以下方面:(1)云计算辅助教学的可行性与作用;(2)远程教育应用;(3)云教学平台的设计;(4)云教学资源的共建共享。然而,在结合软件工程专业的特征,运用云计算技术构建私有云实验实训综合教学平台,使学生不受时空限制进行项目训练方面,现有研究成果较少。
2.1 整体架构设计
根据部署方式和服务对象的不同,云计算可以分为公有云(public cloud)、私有云(private cloud)和混合云(hybrid cloud)[11]。公有云以专业服务商为建设主体,直接向外部诸多公共用户提供服务的云,例如Google的Compute Engine和Amazon的EC2公有云平台。除瘦客户端以外,公有云使用者不需要任何软硬件投资或建设,就可以得到公有云上所有相关的应用程序、服务及数据。但公有云用户的数据和信息不在自己的数据中心上,安全性和保密性难以得到保证。私有云的IT基础设施由某单一组织拥有或租用,形成一个小型的局域网,其信息和服务不对组织外部开放。私有云不仅能保证信息的安全、可靠、可控,而且具有应用服务不中断、可随需扩充、简化管理、采购运维成本低等优点[12]。混合云则是公有云和私有云的融合,能保持独立实体,采用标准的专业技术组合,具有数据和应用程序的可移植性。
校园私有云是学校建设并拥有云计算IT基础设施,搭建学校内部云计算教学与管理环境,其建设主体是学校,服务对象是学校内部管理者与师生。软件工程校园私有云实验实训综合平台主要分为3个层次(见图1)。
图1 校园私有云实验实训平台整体架构图
(1)基础设施服务层(IaaS)。IaaS包括物理资源层和虚拟化资源池层。物理资源层由计算机、网络设备、通信设备等构成,虚拟化资源池层是通过运用虚拟化技术将这些设备虚拟成为一个大的资源池,建立多台逻辑上独立的虚拟计算机,为学校师生提供虚拟化的计算资源、通信资源、存储资源、网络资源等服务。师生不需管理或控制任何云计算物理基础设施,能够自行部署和运行操作系统和应用程序。虚拟化资源池层是关键,它提供了云计算架构动态分配、管理计算资源的能力。
(2)软件在线开发平台服务层(PaaS)。PaaS的实质就是IaaS附加的一个用于指定应用的定制软件栈。PaaS所针对的直接客户是软件系统开发人员,为软件项目开发与教学虚拟资源的建设提供环境。它通过分布式计算环境和分布式存贮环境,把学校的IT基础架构资源作为应用平台和开发环境等平台级产品,以Web服务的方式提供给师生,包括系统开发所需要的开发语言与工具及管理环境、Web应用平台、海量数据库应用平台、海量存储应用平台、分析计算平台等。校园私有云软件工程实验实训平台层主要采用Java和Microsoft.Net等技术体系,部署在Linux和Windows虚拟平台上,提供端到端的开发环境和编程实验实训服务,免去师生对开发环境的配置和维护工作,提高软件开发效率。
(3)实验实训资源应用服务层(SaaS)。SaaS是师生与云计算服务体系的接口。在PaaS之上进行桌面应用系统的部署,使用云计算技术构建统一的虚拟桌面,实现硬件和软件的统一规划、统一管理和统一维护。SaaS将某些特定应用软件功能封装成服务,直接为师生提供开发文档生成、软件检测、视频资源播放、项目管理、作品展示、在线交流、学生和教师管理、教学管理、校企合作、翻转课堂、虚拟实验等应用服务。师生、管理者、运维人员可以通过使用PC机和平板电脑、3G手机或其他移动终端设备等瘦客户端访问“云”端,接受云计算各层次提供的服务。
2.2 虚拟机群集设计
虚拟化技术是校园私有云实验实训平台实现的核心技术。虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行,可以扩大硬件的容量,简化软件的重新配置过程。虚拟化是对物理实体进行的抽象,这个抽象可以不断叠加,即虚拟化也可以对抽象的再次抽象。云计算是层层虚拟的叠加[13],但最底端必须是计算机、网络设施、I/O设备等实体资源,将其整理合并成虚拟的资源池,可消除物理资源的异构性,便于更好地管理和分配各种资源。
云计算中的虚拟化是一个抽象层概念,主要将实体的硬件与操作管理系统分开,进而提供动态的资源配置与高效的资源利用。虚拟化技术一般包括虚拟整合、虚拟拆分和虚拟迁移3方面技术。虚拟整合是将云平台中异构的物理资源整合成一个虚拟的资源池,方便对资源的管理和分配;虚拟拆分是将每台服务器拆分为多个独立的虚拟机;虚拟迁移是帮助云平台进行负载均衡和节约运行成本。当今用于构建虚拟机系统的虚拟化技术有很多,如VMware公司的ESX Server、Workstation[14],开源Xen、KVM、Hyper-V等。
VMware公司的VI3(VMware Infrastructure 3)是基于X86的企业级服务器虚拟化软件,它由ESX Server、Virtual Center、Consolidated Backup 3个产品组成,是校园网中型数据中心虚拟化应用的最佳软件平台[15]。ESX Server是虚拟化的基础平台,它将CPU、内存、存储器、网卡和一些I/O设备抽象到多个相对独立的虚拟机中,在这些抽象的设备上可以运行不同的操作系统和应用程序。运行在裸机上的虚拟监视器无须主机操作系统,可将硬件的全部功能虚拟化,供上面的宿主操作系统使用。Virtual Center是对系统虚拟架构进行集中管理控制的产品,具有对虚拟机架构进行配置、监控及优化的功能,管理每台ESX Server及虚拟机。Consolidated Backup能使虚拟机通过一个集中化的代理服务器进行备份。
基于VI3建立的虚拟机群集如图2所示。首先,将异构的物理资源层整合成一个虚拟的资源池,资源池由IaaS群集、PaaS群集、SaaS群集3层构成;然后,分别在IaaS、PaaS、SaaS层上利用ESX Sever建立多个虚拟基础平台;最后,在每个虚拟基础平台上建立多台学生专用虚拟机,利用Virtual Center集中管理群集中的所有ESX Server与虚拟机。各种应用软件与管理软件资源存在于虚拟机中,并将各虚拟机文件存储在外部实体存储设备中,通过Consolidated Backup实现对虚拟机文件的集中备份,并且支持虚拟机的自动迁移。当虚拟机损坏或物理服务器损坏时,相关的虚拟机能够自动迁移到其他服务器上并自动启动,可以防止资源的丢失。
VI3虚拟化技术不但可以实现零宕机时间的迁移、灾难备份和业务恢复,实现操作系统级别之间的隔离,使各种应用互不干扰,而且可以动态调整虚拟机的资源分配,实现快速、合理的业务调度,提高服务器资源利用率,减少投资和运行成本。
图2 基于VI3架构的虚拟机群集
基于虚拟机集群的校园私有云实验实训平台架构如图3所示。虚拟机基础平台直接构建于物理资源层之上,也可以分布于校园私有云的各层次之中,在基础平台上运行多台虚拟机。分布式数据库、实时数据库为基础设施层与云服务平台层直接提供支持。学生用个人专属虚拟机账号通过校园网登录虚拟桌面池,可以完成软件开发项目训练全过程。教师通过云服务平台可以对学生项目训练的全过程进行管理。
图3 基于虚拟机群集的实验实训云服务平台架构
吉首大学于2014年4月建成了中央支持地方高校发展实验室专项“吉首大学软件工程实践教育中心云教育平台”。该平台是典型的校园私有云实验实训平台,新投入的基础设施主要有24台高性能服务器、160 TB高速存储设备、基础校园网、WiFi网络教室,并整合原软件工程综合实验室的资源,总投资达1 000万元。对新增加的高性能服务器和原实验室服务器进行分组,每组分别接入汇聚交换机;教室、办公室部署了无线AP;所有汇聚交换机、高性能管理服务器、无线AP均与核心交换机直接连接。高性能管理服务器负责管理和监控其他所有服务器,并负责与终端设备的交互。校园网与云教育平台之间部署硬件防火墙,以提高云教育平台的安全性。云教育平台虚拟机群集共生成1 200台并发学生专属虚拟云实验机,能同时满足1 200个软件工程专业学生的实验实训要求。
3.1 实验实训室功能
当软件工程专业学生规模不超过1 200人时,每个学生都可以分配到一个专属虚拟云实验机账号。学生可以在校园网覆盖的任何地方使用PC机、笔记本、移动终端、瘦客户机作为虚拟机终端登录云教育平台完成实验实训。这种实验实训方式的优势是:
(1)延伸了传统实验室的空间范围;
(2)学生始终使用专属自己的虚拟云实验机账号,能保证实验过程的连续性,节省重新部署实验环境的时间;
(3)实验室建设成本低,拓展容易,例如一个40 m2的云计算中心实验室能替代约3 000 m2的传统软件工程实验室;
(4)当学生规模增大时,可以通过增加服务器、网络通信设备等,进行计算资源的重新划分与聚合、服务透明封装及虚拟机动态迁移,快速扩大实验室规模;
(5)对终端设备的要求低,减少了更新终端设备的压力,使设备的利用率提高。
3.2 软件开发功能
软件开发功能是云教育平台的核心功能。软件工程专业学生的基础课程实验与实训、专业技能实训、企业实训、综合实战等各环节都离不开软件项目开发训练。软件工程专业实训是学生通过直接参与软件项目开发,提高实践能力与职业素质的训练过程[16]。吉首大学软件工程云教育平台部署了基础训练开发、Java软件开发、嵌入式软件开发、移动互联软件开发等软件开发环境与工具,能实现项目规划、需求分析、系统设计、代码编写、软件测试等软件项目开发的全过程,每一个过程都能通过平台输出相应的项目文档和实现师生互动。教师还可以通过平台对学生软件项目开发的全过程进行管理。
3.3 资源服务功能
资源服务功能是软件工程专业云教育平台的重要功能。实验实训教学资源主要有:软件开发环境,企业实际软件项目库、案例库,实训教材,软件开发的基础理论资料,软件开发专用技术资料,重点、难点讲解资料及相关文档、模版等。其中,软件开发环境主要指进行软件开发的各种技术和软件工具,还包括相关的帮助文档、开发文档。软件开发环境应该符合IT业界使用的主流技术和开发工具。
吉首大学与中软国际等多家知名软件企业合作,构建了“5R”(Real Training Projects、Real Project Role、Real Job Process、Real Working Condition、Real Work Pressure)沉浸式实践教学资源体系,通过智能终端按需使用多机集群、动态按需分配资源池中部署的实践教学系统以及真实的项目库、案例库、电子教材、电子课件、微课视频、实训资料、优秀学生作品和优秀毕业设计等,能实现实践教学平台与资源、教学团队和学生创新实践活动的高度整合与共享。
3.4 保障功能
云教育平台具有教学管理、学生管理、教师管理、项目管理、校企合作等保障功能。
教学管理主要是指实验教学日常管理,如安排实验实训课程,发布教学大纲,教学计划的执行与调整,实验实训成绩管理,实训过程的资料存档等。
学生管理主要包括对学生实验实训信息、请假、考勤与学习态度等的检查与管理。
教师管理主要是指检查考核教师的实验教学情况,如对教师出勤、教师指导、监控实验实训的全过程、教学效果及学生对教师的评价等。
项目管理是教师对学生开发训练项目的全过程进行监控、阶段评价与指导,学生将各阶段的开发文档与软件产品经项目管理文档输出子模块与作品展示子模块进行输出与展示,教师及时检查每一开发训练过程的项目文档。项目管理子模块附加站内论坛,便于师生交流,并及时解决学生的疑问。
通过云计算校企合作交流平台,加强了校企间的沟通,明确双方的职责与权限,提高了实验实训质量。
3.5 其他功能
云教育平台还具有翻转课堂、虚拟实验、ACM平台等功能。翻转课堂功能主要包括课前教师上传视频、学生在线观看视频、学生在线训练与检测、自动统计与反馈、课内问题研讨、软件开发训练过程输出、师生交流等功能。虚拟实验是指借助于多媒体、仿真和虚拟现实(VR)等技术,在云平台上营造软件企业“5R”真实工作环境,实验效果等价于甚至优于企业的真实环境。ACM平台具有试题库、在线训练、用户排名、竞赛等功能。
吉首大学软件工程实践教育中心云教育平台由学校自建IT基础设施与局域网,运用虚拟化技术,构建了IaaS、PaaS、SaaS私有云服务体系,生成学生专属虚拟云实验机并进行虚拟化统一调度与集中管理。该平台既具有传统软件工程实验实训室功能,又具有软件在线开发训练的功能;既能为学生提供方便快捷的“云”资源服务,又具有多项管理、保障与辅助功能。私有云平台改善了学校实验实训条件,创新了教育教学模式,不但提高了资源利用率,降低了学校实验室的投资与运行成本,而且提高了教学效率。随着技术与条件的不断成熟,可进一步建设混合云或公有云教育平台,实现区域教育资源的共享共建。
References)
[1]栾好利,杨政.“软件工程”项目教学改革方案研究[J].计算机教育, 2009(4):52-53.
[2]王祖析,包巨南.基于云计算技术的高职计算机实验室建设探析[J].电子世界,2012(19):4-6.
[3]王正昶,苏圣泳,杨波.以云计算技术为平台的信息资源开发利用模式[J].计算机光盘软件与应用,2013(2):47-48.
[4]刘鹏.云计算[M].2版.北京:电子工业出版社,2012:1-6.
[5]张林.从教学平台到学习平台:以软件工程平台为例[J].现代教育技术,2011,21(2):103-107.
[6]黎加厚.云计算辅助教学[M].上海:上海教育出版社,2010:11-14.
[7]Sultan N.Cloud Computing for Education:A New Dawn?[J].International Journal of Information Management,2009(30): 109-116.
[8]Malik M.Cloud Learning Environment:What it is?[EB/OL].[2014-09-05].http://edublend.blogspot.com/2009/12/cloud—learning environment-what-it-is.html.
[9]Tuncay Ercan.Effictive Use of Cloud Computing in Educational Institutions[J].Procedia-Social and Behavioral Sciences,2010(2): 938-942.
[10]Stein S,Ware J,Laboy J.Improving K-12 Pedagogy via a Cloud Designed for Education[J].International Journal of Information Management,2013(33):235-241.
[11]Storage Networking Industry Association.Cloud storage for cloud computing[EB/OL].[2014-09-05].http//www.snia.org/.
[12]黄鹏.论私有云在校园网中应用前景[J].旅游纵览:下半月,2012 (10):112.
[13]邹恒明.云计算之道[M].北京:清华大学出版社,2013:65.
[14]VMware Inc.VMware Infrastructure[EB/OL].(2011-12-07) [2014-09-05].http://www.vmware.com/support/product-support/vi3.html.
[15]李英壮,廖培腾,孙梦,等.基于云计算的数据中心虚拟机管理平台的设计[J].实验技术与管理,2011,28(5):1-3.
[16]罗菁,崔岩.软件工程专业实训体系的构建与实践[J].商丘师范学院学报,2011,27(6):60-63.
Research and practice on experimental training integrated platform of software engineering based on campus private cloud
Zeng Mingxing,Zhou Qingping,Cai Guomin,Chen Shengping,Huang Yun,Dong Jianfeng
(School of Software and Service Outsourcing,Jishou University,Zhangjiajie 427000,China)
First,this paper demonstrates the concept,current situation and application of cloud computing in education.Then,the private cloud stratified architecture is designed from infrastructure layer,platform layer and service layer,and the virtualization technology is used to build the virtual fleet set,and the plan of private cloud service platform architecture is put forward based on virtual fleet set training.At last,this paper expounds on the implementation of cloud education platform and its main function as an example for software engineering of Jishou University.This platform can not only reduce the cost of construction and operation for experimental practice base,but also enhance the students’training effect.
software engineering;experimental training;software developing;private cloud;virtualization
G42-057
A
1002-4956(2015)4-0161-05
2014-09-16修改日期:2015-01-16
2014年湖南省普通高等学校教学改革研究项目(湘教通〔2014〕247号);2014年吉首大学教学改革重点研究项目(2014JSUJGA08);2013年湖南省普通高校教学改革研究项目(湘教通〔2013〕223号);2014湖南省教育规划课题(XJK014QXX005)
曾明星(1970—),男,湖南新化,硕士,副教授,主要研究方向为现代教育技术与教学改革.