云计算管理平台 数字化工作空间

基于VMware技术构建高校科研信息化云平台


引言

 

高校的科研信息化,很多年来并不是高校信息化投入的主要方向。但是近几年,在和高校的用户的沟通中,我们发现高校分管信息化工作的领导的思路正在发生着变化。高校信息化的服务化转型、“双一流”建设、以及数据科学和人工智能对于各个学科的交叉融合,这些都在推动科研信息化越来越被重视。

本文正是基于观察、思考、讨论和实践,得到的一些体会,和各位读者分享。

本文分为三个部分。首先我们要解决一个前置问题:为什么信息化云平台对于科研如此重要;然后,我们会分析一下科研信息化云平台的具体需求;再后,我们讨论一下整体技术架构。

 


为什么信息化云平台对于科研如此重要

 

科研的过程大致可以分为几个阶段。首先你需要有一个idea,然后你需要去验证这个idea,最后形成paper。

图1:科研的阶段

中间的这个验证的过程,普遍意义上大家认为各个学科的做法差别比较大,对于信息化的依赖程度也不太一样。但是基于近年来和大量的高校老师和科研人员的交流中,作者已经越来越感觉到信息化已经成为各个学科的重要支柱。而数据科学和人工智能和各个学科的交叉和融合,更是加快了这一趋势。

下面我们分别来看看各个大类学科的现状:

  1. 理科:超级计算很多年来一直在支持着包括物理、化学、生物、天文、地质、生命科学等基础学科研究。
  2. 工科:计算机科学和近期国内高校陆续成立的人工智能专业,都毫无疑问对于信息化的要求非常高。传统的工科,比如自动化、汽车工程、机械工程等等,也依赖信息化技术来实现大量的模拟和仿真。
  3. 经济管理:金融、会计、经济、保险、投资… 这些学科本身就是基于数据的学科。而现代管理学,其基础也是基于数据和统计学。
  4. 医学:同样,统计学大量的被应用于临床医学领域。人工智能也已经在医疗影像学取得了突破。大量的药物试验依然依赖于数据。
  5. 文科:传统上,文科大概是最少依赖于信息化技术的,但是在前几天(2019年4月5日)BBC新闻上我们看到,机器学习技术正在用于帮助理解楔形文字,据估计,人们已经挖掘出了约50万块楔形文字板,但还有很多仍深埋地下。

图2:保存在大英博物馆中的大量的楔形文字石碑

 

当前普遍的,我们看到,国内各个高校的科研信息化建设尚处在较为初级的阶段。大部分都是院系各自为政,甚至是各个教研室各自为政。而部分高校成立的超算中心,由于资源和工具软件的限制,基本上只是为部分基础理科学科服务。这种方式其实有着很多的问题,在下一个章节我们会仔细的分析。

很多读者可能有点不太理解,所谓科研信息化,不就是买一些电脑回来,有那么复杂吗? 那我们下面就来看一下到底是不是买几台电脑就可以搞定。

 


科研信息化云平台的需求与挑战

 

我们分三个方面展开探讨。首先是资源层面,也就是说一个实验环境到底需要哪些资源;然后是管理层面,也就是说使用者如何获得这些资源,当然也包括变更、归还、复制等整个生命周期的操作;另外,还有一个很容易被忽略,但是其实非常重要的方面,就是信息安全

 

资源需求

作为计算资源的主要形式,电脑当然是首先需要的。但是这个电脑不一定只是笔记本电脑或者台式机,很多时候,需要更加强大的服务器。可能一台服务器还不够,需要一组服务器才能完成科研计算的任务。近年来,大数据和人工智能对各个学科的融合,导致智能芯片的需求越来越多,包括GPU、FPGA和ASIC芯片。

有的电脑之后,首先需要的就是联网。这个事情听上去很容易,但是实际中,可能很多人都遇到过,找一个可用的IP地址真的不是那么容易。原因很简单,网络不是你规划的,接入层交换机也不是你采购和配置的,你搬过来几台服务器,交换机未必有空余的网口;网段也都是事先分配好的,IP地址可能早就用完了,或者已经被别人抢占了。当然你可以自己独立组网,那就很难与校园网或者互联网连接,这样你只能在充满着噪音的机房里面工作,也没法从互联网直接下载资料。

存储也很重要。现在科研大部分都是基于数据,实验中还会产生很多的临时数据。有结构化的数据,也有非结构化的数据。这些数据需要保存好,不能丢失。存储的性能在很大程度上影响了计算的速度,所以很多时候存储的性能不能太差。

除去硬件资源,还需要软件资源。比如常见的统计类软件SPSS,科学计算软件MATLAB,大数据处理平台Hadoop和Spark,机器学习框架TensorFlow、PyTorch等,还有最常见数据库、数据仓库等等。科研工作不但需要正版的软件授权,还需要安装和配置这些软件。

 

管理需求

一个实验环境的生命周期如下图所示:

图3:实验环境生命周期

 

在这个过程中,产生了很多管理的需求,我们总结如下。

  • 用户自服务:支持用户通过自服务门户自助提交申请、以及后续的所有的变更操作,所有的状态变更都有邮件、微信或者短信通知。
  • 资源配额与审批:通过灵活的规则引擎制定配额规范,比如按照资金的投入比例,支持按照个人和团队进行配额管理。用户在自己的配额下无需审批,以大大减轻管理负担。超过配额或者特殊情况,按照预设规则进入人工审批。
  • 自动化:资源的部署、变更、停止、归档、回收、删除等步骤都通过自动化完成。
  • 计量计费:根据预设规则进行资源使用计量,避免滥用,方便统计;并根据实际情况进行收费或者预收费。
  • 环境复制:支持将现有环境进行复制,满足多分支研究的需求。这样的需求主要来自于几个方面:一是当科研人员希望做一些不同方向的验证,但是又不希望破坏当前的环境;二是新进入科研团队的学生希望基于整个团队的研究成果,在某些方面进行创新。
  • 环境归档:支持将现有环境停机归档至低成本存储,满足多阶段研究的需求,同时又不会造成资源浪费。
  • 数据访问与共享:支持原始数据、临时数据和验证后数据的保存,并且支持项目之间的数据共享。
  • 院系多租户:从管理模式上,支持建立子资源池,院系或者科研所设定自己的管理员,自行管理。但是技术体系和运维体系依然是统一规划、统一管理。

 

安全需求

安全在很长一段时间,在科研信息化领域都是被忽略的。但是近年的形势发生了很大的变化,很多的高校用户都和我们聊到这个话题。主要的原因是几个:

  • 中国的科技水平在不断提升,科研成果和知识产权保护的意识在不断增强
  • 中国高校和国外高校的合作科研不断深入,在很多的合作研究中,国外同行的知识产权保护意识很强,如果由于中方的问题,导致信息泄露,会造成学校的声誉受损,其影响更大;
  • 科研产业化中涉及到很多第三方商业机构,如何在产业化的过程中,将知识产权和科研成果保护好,对于很多高校的科研人员来说,是个很大的挑战。

 

当然,还有近年公布的《网络安全法》等相关法规,都加强了科研人员的安全意识。

 

对于安全的需求,我们总结如下:

  • 基于角色的授权:大部分高校都已经建设有统一身份认证平台,科研信息化云平台应该与之集成,实现身份认证,并在平台中基于角色进行访问授权。
  • 网络隔离:数据中心边缘的防火墙当然很重要,但是最近的调查发现很多攻击都是来自于数据中心内部,特别是这是一个为很多人服务的云平台,云平台管理员并不清楚大家都在干什么。当某个项目组的服务器出现安全漏洞,一定要把问题控制在一个小范围。这就需要在不同的科研项目之间实现网络隔离,必需的互访通过白名单进行授权。
  • 安全的外部访问:所有的外部的访问都必须经过授权和审计,特别是跨校合作和校企合作科研。同时,USB的使用需要被授权。
  • 病毒防护和安全加固:所有的环境依然需要做好病毒防护,即使是生命周期较短的环境;所有的操作系统都必须做好安全加固,避免系统和软件的漏洞。
  • 数据访问与备份:所有的数据的访问和交换都必须经过授权;非结构化数据应采用多副本存储,结构化数据根据申请进行定期备份

 

可能很多人怀疑这个要求是不是太高了。其实安全是一个“道高一尺魔高一丈“的游戏,当你的信息有足够的价值,就一定有人会来攻击你。这个要求是否过高,就看你怎么看待运行之上的科研信息的价值。

如果要求科研人员自己去完成以上的工作,这显然是不现实的。正所谓术业有专攻,科研人员应当把精力放在自己的科研领域,而非去运维一个IT系统。即使是计算机系的老师和同学,其实他们大部分人也不擅长。

所以,建设高校科研信息化云平台的目的只有一个:

让科研人员能够专注在自己的科研本身,而不是IT环境。

 


科研信息化云平台整体技术架构

 

框架结构

高校科研信息化云平台整体框架上分为三个部分:资源平台、服务平台和访问平台。他们的关系如下:

图4:科研云平台框架结构

 

资源平台对应上文提到的资源需求,提供所有的资源,包括计算资源、在线存储、非结构化数据存储、网络资源、GPU资源、软件授权等等。

服务平台对应上文提到的管理需求,提供针对于具体科研场景的服务管理。包括服务蓝图的设计与实现、资源的申请与审批、实验环境从创建到回收的全生命周期管理等。

访问平台提供灵活、安全、高效的访问入口,将科研人员所需要的系统、应用、数据进行集中管控,并满足从不同的设备、不同的时间、不同的地点访问的需求。

当然,安全贯穿于所有的三个层次。

 

技术架构

具体我们可以看看具体的技术架构。

图5:科研云平台整体技术架构

 

资源平台

整体资源池提供虚拟机、存储、网络、GPU、容器和软件的授权等资源。从实现角度来看,所有的资源都应当是池化的,也就是说可以动态的创建、扩展和回收。

 

一个实验环境包含以下部分:

  1. 计算:服务器虚拟化技术自然是必须的,勿用多讲。
  2. 网络:实验环境的网络也应该是通过软件定义的,不应依赖于物理网络的设置。这样可以很容易的创建新的虚拟网段;当实验环境需要复制的时候,也无需修改每个虚拟机的网络设置。
  3. 存储:存储应该分为两个部分来看,虚拟机操作系统和大部分的结构化数据,应当采用新一代的软件定义的存储,软件定义的存储的优势是可以实现策略驱动,并且横向扩展非常方便。另一个部分是大量的非结构化数据,包括文本、音频、视频等等,这些数据应当采用网盘存放,并且支持NFS协议的访问。网盘的用户界面和易用性很好,很方便可以实现数据共享;NFS协议具有通用性,可以直接mount到虚拟机中使用。
  4. 智能芯片:部分服务器应当配置GPU或者其他智能芯片,英伟达的部分GPU具有虚拟化的功能,可以将一块GPU分成多块GPU,可以获得更大的灵活性。
  5. 容器云:部分运算如果需要通过容器进行管理,虚拟资源池应当提供容器云的能力,当前的容器云标准依然是Kubernetes;当然按照业界云服务的最佳实践,容器依然是建议运行在虚拟机里面。
  6. 软件和授权:软件授权应该也是统一管理,通过API接口获得授权,当然不同的工具软件的授权方式不尽相同,这需要一个单独的授权管理中心。当然,云平台还应当支持工具软件的自动化安装和配置。

在一些用户那里,也有可能某些场景相对简单,从计算层面,只需要一个虚拟桌面就可以满足需求。

下面我们谈谈资源平台中关于安全的几个模块。

  1. 跳板机:跳板机避免了实验环境直接暴露在公共网络上,而且通过跳板机很容易实现各种安全策略(比如USB的限制,屏幕水印)和审计(比如录屏)。跳板机的实现,现在大多采用虚拟桌面的方式。跳板机可以支持多个账号同时登录,也可以设置多个跳板机。
  2. 分布式防火墙:分布式防火墙是实现不同实验环境之间的微分段的最佳手段。
  3. 防病毒:虽然虚拟机的模板是经过安全加固的,但是依然需要防病毒软件保护。在虚拟化的环境下,无代理防毒是第一选择,无代理防毒在虚拟化层进行保护,而不需要在虚拟机内部安装防毒软件,这对科研场景非常重要,科研环境属于托管环境,管理员无法登陆到虚拟机内部去运维防毒软件。
  4. 备份:这里的备份包括两个方面。一是网盘数据的备份,二是整个实验环境的备份。

 

为了更好的说明网络和安全架构,我们设计了如下示意图。

图6:科研云平台租户网络与安全架构

 

服务平台

细化之后的实验服务管理平台,应当包括实验蓝图管理、资源配额与审批、实验环境生命周期管理、计量计费。大致的体验如下图所示。用户可以看到很多的服务,这些服务都对应于一个设计蓝图,当然设计蓝图是云平台管理员根据需求,进行设计和实现,然后发布给最终用户。

图7:实验服务管理平台示意图

 

当用户点击其中一个服务(比如机器学习),用户就可以看到如下界面。用户可以进行资源的申请。

图8:机器学习服务示意图

 

关于机器学习服务的详细介绍和具体实现方式,可以参看作者之前的文章。

《VMware云平台加速机器学习》

《基于vRealize Automation实现机器学习云平台》

 

访问平台

最后我们看一下访问平台。访问平台如下图所示。科研人员从PC、平板或者手机登录自服务门户,自服务门户上面显示科研服务管理平台、网盘、每个实验环境的跳板机(虚拟桌面)的图标,以及其他的科研资源,包括期刊搜索,查重网站等。 当用户点击图标,访问平台会自动连接学校统一身份管理平台进行身份验证,并且单点登录到相应的子系统。

图9:科研云平台访问示意图

 

技术实现

在文章的最后,我们用最短的篇幅讲讲具体的实现方式。这件事情要做成,需要一些成熟的产品,一些定制开发和集成能力,以及必不可少的行业理解。

在资源层面,VMware的软件定义的数据中心,包括服务器虚拟化软件vSphere、软件定义的存储软件vSAN、软件定义的网络软件NSX Data Center、容器云管理软件PKS,都可以发挥相当的作用。网盘的产品选择很多,很多高校也已经提供了网盘服务,可以与之做集成。VMware的Horizon View可以满足跳板机的功能需求。大部分的防毒软件厂商都有支持vSphere环境的无代理防毒软件,供大家选择。至于备份软件,大部分的备份软件厂商也有支持vSphere环境备份的工具。

在服务层面,VMware的vRealize套件可以提供很好的支撑,但是之上的服务目录和设计蓝图,需要通过定制实现。

在访问层面,VMware的Workspace ONE可以提供几乎全部的功能。之上的服务都可以通过配置生成。

 


总结

 

科研能力支撑着国家长久的创新和发展,也是“双一流”高校的重要建设方面。近期的中美贸易战更是让国人体会中美之间的竞争本质上是科技创新能力的竞争。高校科研信息化云平台,最为一个科研基础服务,对于科研能力的提升至关重要,犹如高铁对于经济的推动作用。本文基于实践和思考,分析了科研信息化云平台的需求和挑战,并且给出了整体的技术架构。希望能够和各位读者一起讨论。