She平台的解决方案-松鼠学苑第三代产品
创建大数据全栈集群并运行数据分析程序演示:
She平台以虚拟化技术为核心,打造全新的docker引擎和k8s集群、定制优化Linux操作系统内核,为每名用户(学生)提供一套分步骤、分阶段的、一致的、隔离的操作环境,解决计算机类(不仅仅是计算机类、如BIM建筑信息类)学科教学实训痛点,主要策略如下:
-
状态悬停:开发环境具有悬停功能,所有启动的软件工具均运行在云端后台,关闭开发界面后,开发环境仍保持最后一次更改的状态;
-
云端部署:基于虚拟化/云计算技术,提供一套仅需浏览器就能开展软件开发调试工作的云IDE,规避了学生本地环境搭建的复杂性;
-
自动保存:代码实时保存在git/svn服务器中,关闭开发界面再次进入之后代码仍保持最后一次更改的 状态;
-
一致性保障:同一开发环境由对应devfile所定义,并在启动时由k8s集群配置相应资源。由于资源均来自预先制作的docker镜像,这保证同一开发环境可无限数量且一致的复制;
-
用户环境隔离:每个账号可启动多个相同/不同的开发环境实例,所有账号间以及(相同)开发环境实例间是隔离的,以避免相互影响;描述bug更加容易:只需将账号给对方即可利用开发环境悬停功能展现bug所产生的运行上下文;
-
软件平台支持拖拽式,方便操作,可以随时创建随时删除,创建和删除的是逻辑的计算机集群。
用户登陆后,在主界面中可以选择目标课程平台环境,如大数据集群裸Linux集群Centos7C1、Centos7C2、Centos7C3,
于是,一套开发环境便创建成功。典型的,She平台的课程环境界面包括5个区域(某些课程环境并不一定全部包括这些区域):主菜单、代码explorer控制菜单、代码explorer区、面板区、容器操作区,这些区域设计能够满足所有教研实训需求。
从”Getting Started”选取一个模板、点击”Created & Open”创建一个Workspace,而模板则是由一个文件定义的、这类文件称为devfile、即devfile定义模板而Workspace是模板的一个实现。
每个课程由若干个Workspace组成,如集群版的大数据课程至少包括3个Workspace。
一个Workspace则由多个容器组成,每个容器可以看成一台物理计算机;这些容器又分为两类,分别为:User Runtimes和Plugins,大部分情况下操作User Runtimes中的容器。
每个容器通常包含3类操作元素:终端(>_ New Terminal)、预设命令、端口。
终端只有一个菜单项,点击此菜单(>_ New Terminal)可以创建一个终端,对于Linux类的容器来说,在面板区创建一个命令行操作界面。可以调整命令行界面的高度,也可以占有全部面板区域、即最大化。此外,可以通过多次点击菜单(>_ New Terminal)创建多个终端。
预设命令可以有多条,每条可以认为是一个shell脚本,用户完成某个任务,如下载指定资源到当前容器中。当鼠标停留在对应预设命令菜单上时,此命令的shell脚本内容会显示出来。
端口可以有多个,点击每个端口,会在浏览器上打开对应网页;但是这个端口并不一定被应用程序所绑定,需要事先设定后才能正常打开对应网页。