She平台的解决方案-松鼠学苑第三代产品

创建大数据全栈集群并运行数据分析程序演示:

She平台以虚拟化技术为核心,打造全新的docker引擎和k8s集群、定制优化Linux操作系统内核,为每名用户(学生)提供一套分步骤、分阶段的、一致的、隔离的操作环境,解决计算机类(不仅仅是计算机类、如BIM建筑信息类)学科教学实训痛点,主要策略如下:

  1. 状态悬停:开发环境具有悬停功能,所有启动的软件工具均运行在云端后台,关闭开发界面后,开发环境仍保持最后一次更改的状态;

  2. 云端部署:基于虚拟化/云计算技术,提供一套仅需浏览器就能开展软件开发调试工作的云IDE,规避了学生本地环境搭建的复杂性;

  3. 自动保存:代码实时保存在git/svn服务器中,关闭开发界面再次进入之后代码仍保持最后一次更改的 状态;

  4. 一致性保障:同一开发环境由对应devfile所定义,并在启动时由k8s集群配置相应资源。由于资源均来自预先制作的docker镜像,这保证同一开发环境可无限数量且一致的复制;

  5. 用户环境隔离:每个账号可启动多个相同/不同的开发环境实例,所有账号间以及(相同)开发环境实例间是隔离的,以避免相互影响;描述bug更加容易:只需将账号给对方即可利用开发环境悬停功能展现bug所产生的运行上下文;

  6. 软件平台支持拖拽式,方便操作,可以随时创建随时删除,创建和删除的是逻辑的计算机集群。

用户登陆后,在主界面中可以选择目标课程平台环境,如大数据集群裸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脚本内容会显示出来。

端口可以有多个,点击每个端口,会在浏览器上打开对应网页;但是这个端口并不一定被应用程序所绑定,需要事先设定后才能正常打开对应网页。

市场上现有大数据人工智能教研解决方案情况调研

1)虚拟机技术

在CSDN等课程平台上的很多大数据相关课程使用这种技术,不少高校也采用这种技术;这是松鼠学苑的第一代产品,https://edu.csdn.net/course/detail/24205

这种技术主要的弊端在于:1、保存、创建虚拟机困难。2、每一个阶段有一个虚拟机镜像,需要几十个G,耗费资源非常大,学生不易管理。3、管理集群状态与一致性困难。

因此,这种解决方案不能给学生实战平台,只是在理论层面上的一种灌输,学生无法通过有效的实操搞清楚大数据基础设施的一系列框架的原理以及这些框架的关联关系,很难培养出中高端人才。

这种技术的优势:成本低,几乎没有软硬件的投入。

2)虚拟桌面解决方案

这种解决方案需要学生自己去搭建,是单机版、模拟版的,效果达不到,只能最简单的模拟,不能做集群的模拟,与工业级应用之间存在差距,影响学生就业竞争力。此外,这种解决方案传输的是视频流,带宽要求高。

这种技术的优势:已有成熟的云桌面产品;这是松鼠学苑的第二代产品。

3)云原生解决方案

弊端:学生需要操作服务厂商提供的云服务管理组件、如端口与权限,这极大的增加了学习门槛而不是将专业实训聚焦在课程本身上;而且,由于大数据人工智能系统中组件与服务众多,往往需要更为”本地”的环境,如localhost、hostname,云原生的解决方案很难满足这种情况。

这种解决方案通常是给从业人员做测试环境用的,大厂商为了快速占领市场简单粗暴的将其铺展到高校。

这种技术的优势:公有云唾手可得。

4)大集群、多租户的工业集群

弊端:不能修改集群的配置信息,做不了大数据人工智能的原理教学;共享式的集群环境,操作带有差异,如删除hdfs中某个文件的含义是删除每个学生自己定义的某个目录下的某个文件、而独立集群则保持了教材上操作指令对所有学生的一致性。

这种技术的优势:有IT支撑业务的企业基本会采用这类成熟解决方案,因此这种解决方案零研发投入;现在基本上没有高校引入这种方案。

学苑网课中心

松鼠学苑发展历程

在这里插入图片描述

主营业务

在这里插入图片描述

She教研解决方案

1、远端浏览器,从Google、GitHub、Maven等获取技术资源不再有羁绊。

2、基于Devfile的、一键式、无差别构建,基于账号的隔离独享环境,基于浏览器的全新开发模式,让你和你的 小伙伴的软件工程环境精准的一致,而且能随心所欲的创建一个新的属于你的环境。

3、全系列、分步骤镜像,让你的大数据能够从任一成功阶段继续,从裸Linux到Zookeeper、Hadoop、Tez、 Hive、Spark、Oozie、HBase,到Kafka、Flink、Ambari,All in One的Jupyter,最新版本的TensorFlow, 使用你擅长的任一语言,Python、Java、Scala、R、Julia。

4、无需任何配置,只要bind任一端口,你的应用便自动地expose出去,自动配置域名。

She平台架构

在这里插入图片描述

She是构建在docker/k8s之上、用于软件开发调试的大数据平台,平 台本身是架构在大数据集群之上的分布式系统,包括三层:计算资源管 理层、She核心调度层、应用层,应用层集合了所有课程环境,Devfile 和Workspace是其中两个核心概念:

1.Devfile是开展某项软件类开发任务所需环境的定义,那么将这个草稿 建设起来的就是Workspace,即Workspace是物理的、而Devfile是逻辑 的、是静态的:Workspace包括了物理上运行的各容器或物理机实体、端 口、命名等一干看得见摸得着的资源,所以Devfile定义了某个实训任务 的资源需求情况,如CPU、GPU、Memory、Disk等,而运行中的Work space的则实际占有了这些资源,因此,从这个意义上看,具体的实训 任务决定了She平台的硬件配置需求。

2.Devfile是She平台的预置环境,即其对应的Workspace中已经安装了 一系列版本号确定的工具,这些工具集的选择是根据这项开发任务的通 用需求而定的,是通用的;但是我们可以根据需要卸载、升级、安装相 应工具。

HFS三节点集群拓扑结构

在这里插入图片描述

为了降低实训成本,我们以三节点为例搭建HFS集群,但这个集群理论上可以水平扩展到10万点的规模。