She平台分层架构
She平台是构建在docker/k8s之上、用于软件开发调试的松耦合平台、平台本身是架构在大数据集群之上的分布式系统,共包括三层:
(1)、资源管理层:管理服务端的核心资源,共分为三部分:计算资源(CPU、GPU)、内存资源、存储资源;k8s调度资源;周边组件资源。
(2)、She核心调度层:管理并调度用户的课程创建删除操作请求到对应资源承接端,提供统一功能模式的(计算机)语言环境、编辑器、操作端子。
(3)、应用层:本层集合了所有课程环境,以解耦底层功能组件与课程环境:
1、Devfile是开展某层项软件类开发任务所需要环境的定义,那么将这个草稿建设起来的就是Workspace,即Workspace是物理的,而Devfile是逻辑的、是静态的。Workspace包括了物理运行的各容器或物理机实体、端口、命名等一干看得见摸得着的资源,所以Devfile定义了某个实训任务的资源需求情况,如CPU、GPU、Memory、Disk等,而运行中的Workspace则实际占有了这些资源,因此,从这个意义上看,具体的实训任务决定了She平台的硬件配置徐需求。
2、Devfile是She平台的预置环境,即其对应的Workspace中已经安装了一系列版本号确定的工具,这些工具集的选择是根据开发任务的通用需求而定的,是通用的;但可以根据需要卸载、升级、安装相应工具。
3、用户可自定义出新的Devfile。