虚拟化技术在MOOC虚拟实验平台中的应用策略研究

    

    

    摘 要:为了应对MOOC虚拟实验平台面临的挑战,应用虚拟化技术对其进行优化改造是现实的迫切需要。MOOC虚拟实验平台可应用的虚拟化技术主要有三种:在用户端部署虚拟机镜像、在IaaS云端部署虚拟机、在PaaS云端部署容器。这三种虚拟化技术各有其优势和不足,应该根据实际应用情境灵活选用。文章对虚拟化技术在MOOC虚拟实验平台中的应用策略进行了详细探讨和分析,并对其后续的发展趋势进行了展望。

    关键词:虚拟化技术;MOOC:虚拟实验平台;应用策略

    中图分类号:TP393? ? ? 文献标志码:A? ? ? ? ? 文章编号:1673-8454(2020)24-0088-05

    大力加强MOOC虚拟实验平台建设,为远程学习者提供丰富、优质的虚拟实验课程资源,是改变MOOC实验教学薄弱现状的重要途径。但MOOC虚拟实验平台目前还面临着一些挑战(例如,对学习者的信息化操作技能要求较高、软件的兼容性问题较为突出、实验效果难以保持一致性等),如何正确、有效地应对这些挑战是现实的迫切需要。虚拟化技术作为云计算的核心支撑技术,它把计算、存储和应用等信息处理变成了可以动态配置的资源,极大地提高了信息设施的利用率,能有效满足灵活多变的信息服务需求[1]。因此,虚拟化技术在应对MOOC虚拟实验平台面临的挑战方面具有突出的价值和优势。本文试图对虚拟化技术在MOOC虚拟实验平台中的应用问题进行探讨。

    一、MOOC虚拟实验平台目前面临的挑战

    1.学习者需要预先下载和安装相关的虚拟实验软件,对其信息化操作技能要求较高

    学习者利用MOOC虚拟实验平台开展虚拟实验时,需要预先下载和安装相关的虚拟实验软件,而这些环节都要求学习者具备较为熟练的信息化操作技能,技能较弱的学习者在开展虚拟实验时将面临着较多的困难和障碍。例如,许多MOOC虚拟实验项目需要学习者的计算机预先安装各种相应的插件(如播放器插件、交互插件等),而插件的安装、设置一般都较为繁琐和复杂,对于信息化操作技能较弱的学习者将是棘手的难题;如果相应插件不能被正確安装和设置,将严重影响和阻碍虚拟实验项目的正常开展。

    另外,学习者使用虚拟实验软件的过程通常遵循一种被称为“学习曲线”的规律,即学习者在刚开始使用虚拟实验软件时会面临着较多的困难,而随着操作熟练程度的提高,他们对软件的使用会越来越容易。因此,虚拟实验软件的使用对于新手来说不是一项简单的任务。

    2.虚拟实验软件与操作系统及其他应用软件之间存在着兼容性问题

    由于操作系统的类型较多(如Windows、Unix、Linux和 Mac等),且同一类型操作系统还有不同版本,因此所开发的虚拟实验软件难以兼顾所有类型、版本的操作系统,即它们之间存在着较为突出的兼容性问题[2]。另外,虚拟实验软件与其他应用软件(如播放器、浏览器等)之间也存在着或多或少的兼容性问题。当虚拟实验软件与用户端操作系统及其他应用软件之间不兼容时,轻则会出现虚拟实验软件运行不稳定、不流畅的情况,重则会导致系统瘫痪和崩溃等。因此,软件之间的兼容性问题是MOOC虚拟实验平台亟待解决的难题。

    3.虚拟实验课程资源较为单一,学习支持系统不够健全

    目前MOOC虚拟实验平台提供的虚拟实验课程资源主要是实验教学视频、虚拟实验仪器和实验讲义等,这些实验课程资源原本是为传统面授教学情境而设计制作的,并不太适用于远程虚拟实验环境[3];还缺乏实验设计和数据分析的工具,导致实验数据分析、现象解释和实验报告撰写等实验后续工作较难开展,给学习者带来了很大的困扰[4]。

    MOOC虚拟实验平台提供的学习支持系统主要是学习管理系统的BBS论坛,辅导教师不定期在线对学习者的疑惑和问题进行答疑解惑。但由于受辅导教师的时间精力、辅导管理机制等诸多因素的限制,这种学习支持系统很难满足众多学习者的个性化学习支持的需求,学习者在实验过程中很难获得有针对性的指导和帮助。

    4.虚拟实验效果因学习者的信息化环境的差异,难以保持一致性

    信息化环境主要包括信息化硬件设施(如计算机、移动智能终端等)和网络环境。虚拟实验软件的运行对学习者的信息化环境有一定的基本要求,如果信息化环境不理想(如计算机硬件配置过低或网络带宽不够等),则难以保证虚拟实验软件的正常运行。由于MOOC学习者分散在远程各地,他们之间的信息化环境差异很大,导致虚拟实验效果难以保持一致性。例如,国家虚拟仿真实验教学共享平台上的某虚拟实验项目要求学习者的计算机硬件配置标准为:CPU 为Intel Core i5以上,显卡的显存为4G以上,系统内存为16G以上,网络带宽20Mbps以上[5],但如果学习者的计算机硬件配置或网络带宽没有达到该标准的要求,则很难保证该虚拟实验项目的正常实施。因此,增强MOOC虚拟实验平台对学习者信息化环境差异的适应是亟待解决的问题。

    MOOC虚拟实验平台面临的这些挑战影响着虚拟实验的正常开展,也制约着MOOC课程的推广和应用。虚拟化技术以其自身的独特优势为应对这些挑战提供了良好的选择:可以屏蔽不同硬件平台的差异性,屏蔽不同硬件的差异所带来的软件兼容性问题;可以扩展计算机硬件的容量,简化软件的配置过程,显著提高计算机系统的工作效率等[6]。因此,应用虚拟化技术对MOOC平台进行优化改造是应对这些挑战的有效途径。

    二、虚拟化技术在MOOC虚拟实验平台中的应用策略

    MOOC虚拟实验平台可应用的虚拟化技术主要有三种:在用户端部署虚拟机镜像、在IaaS云端部署虚拟机、在PaaS云端部署容器。下面对它们在MOOC虚拟实验平台中的应用策略进行详细探讨和分析。

    1.通过在用户端部署虚拟机实现虚拟化

    (1)在用户端部署虚拟机的优势

    为了简化在用户端下载、安装虚拟实验软件导致的繁琐操作以及解决兼容性问题,一种传统的解决方法是在用户端预先安装虚拟机镜像。虚拟机镜像预先封装了虚拟实验所需的相应软件与配置,系统将以镜像为模版自动创建包含了虚拟实验软件的虚拟机,因而学习者不必再安装其他的虚拟实验软件。虚拟机镜像能通过虚拟机模拟器(例如VirtualBox)自动下载和运行,从而减轻了学习者的操作负担,降低了对其信息化操作技能的要求。由于虚拟机镜像已经对所配置的硬、软件资源进行了优化和协调,也较好地解决了系统的兼容性问题。

    (2)在用户端部署虚拟机的方法

    对于MOOC虚拟实验课程的制作团队来说,创建轻便、可靠和高效的虚拟机并不容易,因为随着使用时间的推移,原来的系统设置会变得过时,后续对虚拟实验软件的维护将会变得越来越困难。由于工业化的制作流程具有专业、高效和经济等优点,为解决虚擬机的部署和维护问题提供了很好的解决路径。Vagrant 和Debian都是基于工业化制作流程的虚拟机部署软件,可用于虚拟机镜像的创建和管理。

    Vagrant提供了易于配置、重复性好和便携式的虚拟开发环境,具有跨平台、可移动、自动部署等优点[7],可实现工作效率和灵活性的统一。Debian能方便、高效地对软件进行打包和安装,软件包管理器(APT)可帮助使用者在许多台计算机上管理众多的软件包[8]。运用Vagrant和Debian创建虚拟机镜像的过程可用图1表示,该过程由以下三个阶段组成:首先执行“启动Vagrant”命令,系统加载“Vagrant”文件,通过脚本控制虚拟机镜像的创建;然后从Debian软件包仓库和虚拟实验应用程序Git库中获取虚拟机的配置资源;最后系统生成可在任何Vagrant环境下重复使用的虚拟机镜像。

    (3)在用户端部署虚拟机存在的不足

    尽管在用户端部署了虚拟机以后,学习者不再需要安装其他的相关软件,但仍需要掌握虚拟机模拟器的操作技能;而虚拟机模拟器运行在不同的硬、软件环境下,增加了其操作难度。另外,学习者在使用虚拟机的过程中还面临着许多其他问题(例如缺乏管理者权限、系统设置问题等)。虽然这些问题不是大多数学习者所面临的,但也不应该被忽视。另外,虚拟机的运行效果受用户端设备性能的影响也较大。

    2.通过在IaaS云端部署虚拟机实现虚拟化

    (1)在IaaS云端部署虚拟机的优势

    IaaS(Infrastructure as a Service)即“基础设施即服务”,它将信息基础设施(如内存、I/O设备、存储和计算设施等)作为云服务环境提供给用户,用户通过Internet获取所需的网络服务、存储服务、开发环境服务和软件服务等基础设施服务[9],优点是用户按需租用相应的信息基础设施服务,大大降低了对用户端硬件性能的要求。

    MOOC虚拟实验平台在IaaS云端部署虚拟机以后,学习者只需在用户端安装Web浏览器(不再需要安装其他的客户端软件),通过使用Web浏览器访问云端服务器上的虚拟机和进行虚拟实验操作,从而提高实验学习的效率,简化了实验操作流程。此外,同一MOOC虚拟实验平台的所有虚拟机都是由同一课程团队管理,可以大大提高实验教学的管理效率,有助于创建新型的虚拟实验教学模式。例如,学习者可以把他们的实验结果直接提交给学习管理系统(LMS),而不必再另外撰写实验报告,这有助于实验教师及时监测、评价学习者的实验过程;由于为学习者提供虚拟实验服务的虚拟机都运行在同一平台,它们之间能够高效地互联、互通,因而也有利于学习者之间的交流和协作。

    (2)在IaaS云端部署虚拟机的方法

    首先将预先制作的虚拟机镜像传输到云计算集群服务器,然后通过对镜像文件的实例化而控制虚拟机的创建,虚拟机在完成自身的各种配置后融入云平台环境,从而为学习者提供所需的虚拟实验应用服务,其过程可抽象为如图2所示的模型。在IaaS云端部署虚拟机的过程由以下四个阶段组成:

    ①IaaS云管理中心对云计算集群中的所有物理资源和虚拟资源实行集中的统一管理,并根据学习者的虚拟实验服务需求对虚拟资源进行优化配置,既保证了虚拟实验服务的质量,也提高了资源的利用率。

    ②镜像服务器存储预先创建的虚拟机镜像,并对运行中的镜像进行备份。根据虚拟机管理器的指令,将镜像文件传输给云计算集群服务器。

    ③虚拟机管理器根据镜像文件的配置信息,运用虚拟化技术将云服务器中的物理硬件资源( CPU、内存、I/O等)实现虚拟化,最终封装成虚拟机供用户使用。虚拟机的部署和运行都受IaaS云管理中心的控制。

    ④借助于VNC(Virtual Network Console)和RDP(Remote Display Protocol)技术,学习者通过Internet访问云计算集群中的特定虚拟机,并在虚拟机上运行相应的虚拟实验软件,从而获取相应的虚拟实验服务。

    (3)在IaaS云端部署虚拟机存在的不足

    ①运行成本问题。在IaaS云端部署虚拟机需要租用云平台的IaaS服务,MOOC虚拟实验平台的运营方需要为此付费,无疑会增加其运营成本。如果采取在用户端部署虚拟机的方式,则可以节省这些费用。

    ②网络环境的支撑问题。在IaaS云端部署虚拟机需要良好网络环境的支撑,无论是镜像文件的传输,还是虚拟机的配置和应用服务的获取等,都离不开稳定、高速的网络连接。学习者通过Internet访问IaaS虚拟机而开展虚拟实验也需要持续地联网,而当网络不稳定或网络带宽不够时,虚拟实验的操作体验将会受到很大的影响和限制。

    ③获取虚拟机服务的时间延迟问题。学习者访问MOOC虚拟实验平台开展虚拟实验时,大型的虚拟机镜像文件需要在IaaS云端进行复制,会导致学习者获取虚拟实验服务的时间有延迟(一般有几分钟的延迟)。如果虚拟机镜像文件太大,这种情况将会变得更为严重,因此有必要对镜像文件进行优化,以提高文件传输的效率,从而缓解时间延迟问题。

    3.通过在PaaS云端部署容器实现虚拟化

    (1)在PaaS云端部署容器的优势

    PaaS(Platform as a service)即“平台即服务”,它将软件开发环境作为一种云服务提供给用户,用户在云服务平台所提供的软件开发环境中部署所需的应用程序和配置。容器作为一种把应用程序和部署环境相隔离的虚拟化打包技术,非常适合于在PaaS云平台中使用。容器的概念源于航运业中广泛使用的集装箱:容器相当于集装箱,而应用程序相当于货物,容器对各种应用程序进行封装、打包,类似于把货物装入集装箱。由于容器的隔离作用,各种应用程序工作时不相互影响,并且可以方便、快捷地在各种运行环境中进行整体迁移。在PaaS云端部署容器的优势主要表现在以下三个方面:

    ①由于容器采取了共享主机操作系统的工作方式,减少了客户机操作系统层,因此它更加轻量化,启动速度更快(一般为秒级,而虚拟机为分钟级),可以大量节约开发、测试和部署的时间。而容器的轻量化也使得平台能部署更多封装了虚拟实验应用程序的容器,从而可以提供更多的虚拟实验项目。

    ②容器的部署过程得以大大简化。开发者通过使用容器引擎将应用程序及其附属程序一起打包成标准的镜像文件,然后根据镜像文件来创建容器,通过执行脚本命令把容器快速、自动地部署到运行环境中。而传统的虚拟机部署需要人工安装软件包,需要花费较多的时间和精力。

    ③容器具有良好的可移植性和易扩展性。可移植性表现在容器可以在各种平台环境中稳定运行,可以快速、灵活地从一个平台环境迁移到另外一个平台环境,从而大大提高了应用程序开发、升级及维护的效率。例如,通过使用容器技术可以将校园网上的虚拟实验平台快速迁移到大型的MOOC平台上。易扩展性表现在当容器难以胜任新的工作任务时,可以方便地对其进行改造和升级或创建新的容器,从而满足新运行环境的需要。

    (2)在PaaS云端部署容器的方法

    Docker是目前最为常用也较为成熟的一种容器技术[10]。运用Docker在PaaS云端部署容器的技术路线可概述为:开发者通过创建容器镜像的脚本文件而生成容器,并将其发布到PaaS云端服务器上运行,为用户提供相应的虚拟实验服务。基于Docker的PaaS容器部署过程可抽象为图 3 所示的模型,该过程由三个阶段组成:

    ①创建镜像的脚本文件。Dockerfile是描述镜像构建过程的脚本文件。根据实际需要,开发人员对Dockerfile进行编辑或修改,直至编写出符合要求的镜像脚本文件。PaaS平台通过Dockerfile实现对容器的管理与控制。

    ②创建镜像。镜像包含了容器的详细信息,是创建容器的蓝本。镜像可以通过Dockerfile文件来创建,封装完毕的Dockerfile文件存储在源代码库中。当需要创建镜像时,则把Dockerfile文件“clone”到Docker引擎中,Docker引擎读取并逐条执行Dockerfile 文件中的指令,通过“built”命令最终生成新的镜像。然后通过“push”命令把生成的镜像推送到Docker 镜像库中。另外,镜像也可以通过容器的反向操作而创建。

    ③生成容器。Docker引擎通过“pull”命令把镜像从Docker镜像库中拉取出来,并根据工作任务需要对镜像进行相应的修改(例如封装虚拟实验应用程序),然后通过“run”命令运行镜像,最后生成一个标准的、隔离的和轻量级的运行环境即容器。虚拟实验应用程序在容器中运行,摆脱了对系统环境的依赖,因而具有良好的隔离性和一致性。

    (3)在PaaS云端部署容器存在的不足

    首先,容器在PaaS云端的部署和运行仍然需要良好的网络环境支撑。无论是容器镜像的上传、下载还是容器的迁移等,都依赖于客户机和PaaS云端服务器之间的网络连接性。当网络连接性不佳时,容器的部署和运行都将受到很大的影响,进而也影响着基于容器的虚拟实验软件的运行效果。这也是在IaaS云端部署虚拟机时存在的类似问题。

    其次,容器技术作为新近涌现的信息技术,其自身由于不够成熟还存在着一定的局限性。例如,容器采取的是共享宿主机操作系统的工作方式,而一旦宿主机操作系统出现安全问题,则安全威胁会蔓延至整个系统。另外,容器引擎软件商所提供的配套资源也比较有限,在部署和使用环节遇到问题时难以获得有效的资源支持。

    三、总结与展望

    总之,可应用于MOOC虚拟实验平台的这三种虚拟化技术都各有其优势和不足:在用户端部署虚拟机简化了操作流程,较好地解决了系统的兼容性问题,但学习者仍然需要掌握虚拟机模拟器等软件的操作技能,对系统的维护也较为繁琐,对用户端硬件性能的要求较高;而在IaaS云端部署虚拟机和在PaaS云端部署容器对用户端硬件性能的要求较低,其应用和维护更为方便,能实现资源的统一调度、灵活移植和共享应用,但它们对于网络环境的依赖程度高,且容器的安全稳定性不如虚拟机等。因此,在MOOC虚拟实验平台的构建过程中,应根据实际应用情境灵活选用合适的虚拟化技术。

    针对虚拟化技术在应用中所存在的不足,研究者正努力探索运用新的技术手段予以解决和克服。例如,为了克服在云端部署虚拟机或容器对网络环境的过度依赖性,一种解决方法是采用WebAssembly编程技术,使浏览器能高效地运行虚拟机和应用程序,从而降低虚拟实验应用服务对网络环境的依赖性。WebAssembly通过为高级编程语言编写的应用程序提供编译目标,从而使它们可以在Web浏览器中安全、快速地运行[11];而虚拟桌面技术的使用能显著降低学习者在开展虚拟实验时的网络延迟。为了提高容器的安全性,可以让容器运行在虚拟机内部,利用虚拟机的良好硬件隔离性来提高容器的安全性;另外,还可以利用虚拟机丰富成熟的监控和管理工具来完善容器的运行环境。通过容器技术与虚拟机技术的深度融合,实现两者的优势互补,为促进虚拟化技术的进一步完善提供了有效的解决路径,从而有助于促进该技术在MOOC虚拟实验平台中的推广应用。

    参考文献:

    [1]武志学.云计算虚拟化技术的发展与趋势[J].计算机应用,2017,37(4):916.

    [2]唐勇.基于云计算的物理虚拟实验研究[D].南京:南京师范大学,2016:25.

    [3]谢绍平,刘强,谌贻波.虚拟实验:MOOC环境下实验教学的重要发展方向[J].中国教育信息化,2018(23):75.

    [4]王基生,于平太,李莹等.虚拟实验平台开发和应用的理性思考[J].现代教育技术,2010,20(2):137.

    [5]国家虚拟仿真实验教学共享平台.干扰素生产VR虚拟现实仿真项目[EB/OL].http://www.ilab-x.com/details/

    v3?id=2951&isView=true.

    [6]张耀祥.云计算和虚拟化技术[[J].计算机安全,2011(5):80.

    [7]郭亮,郭海智,谢光.基于Vagrant部署程序设计类课程实验教学环境[J].实验科学与技术,2018(5):158.

    [8]Ian Murdock. Debiain: the universal operating system[EB/OL].https://www.debian.org/.

    [9]冯秀珍,郝鹏云.计算环境下的信息资源云服务模式研究[J].计算机科学,2012,39(S2):111.

    [10]张辉,王伟,郭栋.一种基于微服务范式的桌面云构建框架[J].信息网络安全,2017(2):38.

    [11]杨旸,王明华,潘俊臣,等.基于浏览器WebAssembly技术的即时通信加密通信系統的设计与研究[J].网络空间安全,2019,10(8):37.(编辑:鲁利瑞)