对等代理模式开放科学云联邦系统框架①

2024-01-10 01:11李跃鹏张海明张丽丽黎建辉
高技术通讯 2023年12期
关键词:中间件联邦资源共享

李跃鹏 张海明 张丽丽 黎建辉③

(*中国科学院计算机网络信息中心 北京 100190)

(**中国科学院大学 北京 100049)

0 引言

开放科学是一个涵盖开放数据、开放实验室、开放基础设施、开放教育、开放众筹以及开放获取等众多实践活动的包容性框架,其核心内容之一是通过充分利用先进网络、云计算与高性能计算、大数据与人工智能等新型技术构建开放科学云平台,进而加速科学发现与技术创新的进程[1]。本文中开放科学云平台主要指科学领域计算资源与数据资源共享系统,其中计算资源指中央处理器(central processing unit,CPU)、内存与网络等计算基础设施,数据资源指学术文献、模型参数以及实验观测等科学数据。

目前全球建设了中国科技云(China Science and Technology Cloud,CSTCloud)、欧洲开放科学云(European Open Science Cloud,EOSC)、非洲开放科学平台(African Open Science Platform,AOSP)等开放科学云平台以推动开放科学研究模式的普及与应用[2],然而CSTCloud、EOSC 以及AOSP 等平台间相互独立,无法支撑全球科技合作以解决诸如新冠肺炎、碳中和、自然灾害等全球性问题与挑战。因此2019 年,中国科技云在国际数据委员会(Committee on Data for Science and Technology,CODATA)会议上提出了构建“全球开放科学云”(Global Open Science Cloud,GOSC)倡议,以期实现不同领域、机构、国家和区域开放科学云平台的互联共享[3]。2021年,联合国教科文组织(United Nations Educational,Scientific and Cultural Organization,UNESCO)大会指出未来开放科学云平台必需实现国际互联与高度互操作,从而避免科技资源碎片化,缩小国家之间和国家内部的数字、技术和知识鸿沟[4]。

在此背景下,本文结合开放科学场景中的资源共享模式需求,研究了开放科学云联邦系统架构设计相关问题,旨在为国内以及国际开放科学合作项目的系统建设提供技术参考。本文中开放科学云联邦指开放科学云平台间互联与互操作的中间件系统,能够使全球开放科学云平台加入云联邦进行科学资源共享,为科研人员提供高效可靠的联邦云服务。

1 相关研究

目前针对云平台互操作与资源共享场景,学术界与工业界提出了多云[5]、混合云[6]、云联邦[7]、InterCloud[8]、Sky Computing[9]、跨云[10]、云际计算[11]等多种概念模型。例如“多云”系统管理并监控多个云平台(通常指共有云)资源及运行状态,选择不同云平台部署运行应用业务,从而使用户避免平台锁定并获得最大效费比;“混合云”系统是一种“多云”系统特例,根据系统运行状态实时调度应用工作负载在公有云与私有云间动态迁移部署;“云联邦”系统要求满足标准规范的云平台以自治方式动态加入云联邦,通过监控云平台运行状态、管理云平台元数据信息为应用提供资源发现、监控计费以及身份认证等功能服务。

可以看出不同概念模型存在重叠的定义与功能特性[12],因此为了减少论文歧义,本文中“云联邦”一词并不特指具体的概念模型与企业产品,而是代表云平台资源共享、互操作以及服务集成等应用场景。本文对云联邦系统概念的理解如下:云联邦系统是一种用于多源异构云平台协作的中间件系统,能够使得云平台与应用互联组成云网络,应用可在云网络节点上编排运行业务负载,利用云网络资源(通信、计算、数据等)解决单一云平台的效费比、平台锁定与扩展性等问题。

影响云联邦系统功能、规模与性能的因素主要包括资源类型、部署模型以及工作模式3 种,其中资源类型指云联邦系统为用户提供的基础设施服务(infrastructure as a service,IaaS)、平台服务(platform as a service,PaaS)以及软件服务(software as a service,SaaS)等联邦云服务类型;部署模型指云联邦系统中间件实例在不同应用场景中的集中式、分布式与点对点式部署方法。

云联邦工作模式云平台、云联邦中间件以及应用之间的资源共享关系与协作交互方式,主要包括代理模式与中介模式2 种类型。如图1(a)所示,代理模式云联邦系统中间件作为云网络的总控(Master)整合内部云平台(Slave)资源,为应用提供统一的集成IaaS、PaaS 以及SaaS 云服务。总控管理员需配置Slave 节点的云服务接口地址、身份证书等信息,Master 节点对Slave 节点的云计算资源进行统一管理、监控、集成、负载编排调度,应用只需向Master提交计算任务或运行部署程序包。

图1 云联邦系统工作模式

如图1(b)所示,中介模式云联邦系统中间件作为云网络的协调者(Coordinator) 为云平台节点(Peer)提供对等资源共享链接建立、监控与执行运行环境。Coordinator 节点需管理Peer 节点元数据信息,监控Peer 节点运行状态,打通Peer 节点间的身份认证、监控计费以及网络通信等非业务功能障碍。Peer 节点与应用需通过Coordinator 节点实现资源发现、集成、管理以及调度,将业务逻辑在所有Peer 节点上编排运行。

表1 整理了目前学术界与工业界提出的云联邦系统案例以及系统案例支持的资源类型、部署模型和工作模式。其中代理模式云联邦系统通常适用于单位组织的数据中心资源整合场景;中介模式云联邦系统通常适用于科研领域机构共享合作场景。资源类型、共享目标明确的合作模式通常由大型组织集中式或分布式部署中间件实例,为所有机构用户提供资源元数据信息;资源类型、共享目标开放的合作模式通常由全球科研机构各自部署中间件,通过点对点连接与数据同步提高系统扩展性与规模。

表1 云联邦系统案例

2 开放科学云联邦典型应用场景

开放科学云联邦旨在实现全球开放科学云平台资源整合、集成与调度,从而为科研人员与科研合作项目提供统一的联邦云服务,其资源与云服务管理具有跨区域、大规模与自治理3 个典型特点。

(1)跨区域:开放科学资源分布在全球不同区域,云联邦系统需通过区域间资源交换与共享协作完成科学计算任务,并对云平台的资源贡献进行计量与激励。

(2)大规模:开放科学运动的发展呈逐年增加趋势,云联邦系统架构需具备高度开放性与扩展性特点,支持大规模云平台通过云联邦系统中间件进行互联与资源共享。

(3)自治理:开放科学云平台具有个性化的资源管理策略与技术,云联邦系统需统一管理、集成与调度所有云平台资源,使得多样化的系统资源组成结构对应用透明。

以天文领域最大规模实验装置——平方公里阵列(square kilometre array,SKA)射电望远镜国际合作项目为例。如图2 所示,SKA 选取澳大利亚西部沙漠和南非2 个地点部署观测装置[22],每秒产生的7~8 TB原始观测数据先通过高性能中央信号处理器预处理为特征数据,再以5 TB/s 的速度传输给全球区域数据中心持久化存储和进一步分析处理[23]。区域数据中心每年需要对250 PB 数据进行存储与处理,这些操作所需设备、系统架构已经超出了一个单位甚至一个国家所能承担的正常工作能力,因此在相关国际组织协调下,SKA 系统由11 个核心国家的区域数据中心以及100 多个科研机构协同建设完成[24]。

图2 SKA 项目系统架构示意图

在SKA 系统架构中,区域数据中心是统一管理、协调、调度区域内的云计算资源的虚拟资源池(图2 虚线部分展示了中国区域中心与欧洲区域中心的详细结构),实际资源提供者是参与SKA 项目的科研与企业单位云平台。终端用户(例如高校科研人员)通过SKA 统一门户接入区域数据中心,借助区域数据中心在计算、存储以及数据资源方面的优势并结合自身算法、历史数据等,通过深入挖掘对比分析得到科学发现成果。此外,终端用户可将科研成果数据发布到区域数据中心被其他终端用户参考使用。

目前代理模式与中介模式云联邦系统无法完全满足开放科学云联邦的资源管理需求,其中代理模式虽然能够包容地区与学科云平台的差异性需求,实现云平台统一集中管理,但是无法支持全球性的大规模互联互通;中介模式虽然支持大规模云平台互联,但是无法实现地区与学科的个性化互操作与资源管理策略。因此本文提出了对等代理模式云联邦系统框架(P2P broker model based federated cloud system,PBMFCS),尝试探索将代理模式与中介模式进行组合,利用不同模式的优势实现全球开放科学云平台跨区域、大规模及自治理资源管理与共享。

3 对等代理模式云联邦系统框架

3.1 总体框架

云联邦系统中的云平台分为物理云平台与虚拟云平台2 类,其中物理云平台指物理服务器上运行的云计算系统,虚拟云平台指物理云平台资源集成管理中间件系统。如图3 所示,对等代理模式云联邦系统通过云联邦代理平台、接口网关与云联邦中介平台3 类中间件实现大规模云平台互联与资源共享。

图3 对等代理模式云联邦系统总体框架

接口网关与云平台组成了云联邦资源供应基本单位(联邦成员),其中云平台将资源托管给云联邦代理平台,接口网关为资源托管过程提供接口适配与身份认证等功能服务。云联邦代理平台与联邦成员组成了云联邦系统的资源共享基本单位(云联邦代理点),其中云联邦代理平台管理联邦成员资源,分别为联邦成员与应用提供代理服务:(1)作为资源提供者,代理联邦成员向其他云联邦代理点供给云计算资源;(2)作为资源消费者,代理应用调度联邦成员资源,为应用提供统一的集成云服务。从应用角度来看,云联邦代理点屏蔽了系统云平台的多源异构性,使得云服务调用方式与单一云平台完全相同。

云联邦中介平台协调云联邦代理点建立对等资源共享关系,为资源共享过程提供安全可靠的中介服务。云联邦中介平台需提供4 类基本中介服务:(1)元数据管理:维护全球代理点的云服务元数据信息,使代理点进行资源发布、搜索与更新操作;(2)身份认证:建立代理点间信任关系,使不同代理点能够相互验证身份令牌;(3)服务计费:为跨平台资源消费行为提供计费担保服务,确保计费过程的安全性与准确性;(4)合约管理:以服务合约方式确立云联邦代理点间对等资源共享关系,确保合约双方按照合约条款进行资源共享操作。

3.2 逻辑结构

对等代理模式云联邦系统的核心逻辑是通过签订代理平台一对一服务合约建立对等资源共享关系。服务合约包含代理合约与中介合约2 种类型,规定了服务接口、服务地址、服务性能以及隐私保护等条款,云计算资源共享过程即是服务合约的签订与执行过程。

如图4 所示,中介合约签订过程分为2 步:(1)代理平台在中介平台注册账户信息加入云联邦;(2)代理平台将中介服务集成到本地资源管理适配模块。

图4 系统逻辑结构示意图

代理合约签订过程分为4 步:(1)服务提供者B在中介平台发布合约条款;(2)服务消费者A通过中介平台向B发起签订合约申请;(3)中介平台协调A、B满足合约要求,记录签约结果;(4)服务提供者A为B平台用户授权,消费者B再将虚拟云平台A加入B的联邦成员队列。

代理合约执行过程分为3 步:(1)用户调用A的集成服务接口;(2)代理平台A根据资源调度策略调用虚拟云平台A的合约服务接口并与本地资源集成;(3)用户为合约执行过程的参与者(代理平台A、代理平台B、中介平台)支付合约费用,并由中介平台执行账户自动转账。中介合约执行过程分为3 步:(1)用户调用代理平台管理控制服务接口;(2)代理平台视用户请求内容调用中介服务接口,例如代理平台A调用元数据搜索中介服务发现代理平台B中的云计算资源;(3)代理平台账户根据合约条款向中介平台相关账户转账相关费用。

3.3 部署模型

理论上部署一个全局云联邦中介平台与多个局部云联邦代理平台即可实现对等代理模式云联邦系统的全部功能,然而为了适应开放科学场景的跨区域、大规模与自治理资源管理需求,云联邦系统需根据不同中间件特点制定相应部署模式以提高系统规模与可靠性。如图5 所示,云联邦代理点可部署多套相同的代理平台实例,采用负载均衡策略将用户的集成服务请求分发给不同实例运行,从而避免云联邦代理平台发生单点故障。

图5 系统部署模式示意图

如图5 所示,云联邦中介平台可参考区块链部署运行模式,分为全节点、矿工节点与轻量级节点3种类型,根据配置信息加入不同中介服务P2P(peer to peer)网络与其他节点实例共同协作提供中介服务。全节点具备运行中介服务所需的全部存储、计算、软件及数据资源,能够独立提供中介服务全部功能;矿工节点从全节点中获取中介服务子任务,执行中介服务的相关计算与存储操作,向全节点上传工作量证明从而获得用户支付的中介服务费用;云联邦代理平台运行轻量级节点实例与所有中介服务P2P 网络建立通信关系,通过P2P 协议调用中介平台提供的中介服务。

4 模式对比分析

代理模式、中介模式以及对等代理模式云联邦系统在云平台规模、服务可靠性、系统复杂度以及系统易用性等方面存在明显差异,3 种模式的特性如表2 所示。其中代理模式可通过用户友好的联邦云服务管理异构云平台资源,并且由于云联邦中间件与云平台属于同一机构管辖范围,系统结构复杂度较低,容易进行系统升级维护。然而云联邦中间件采用集中式部署模型,服务可靠性较低,通常应用于机构或区域内的小规模云平台资源共享场景。

表2 云联邦系统架构模式特性

中介模式能够为大规模云平台建立资源共享链接提供运行环境,然而云平台与云联邦中间件通过松耦合方式互联,系统结构复杂度较高,服务可靠性较低,一旦云联邦中间件发生故障将中断所有资源共享链接。除此之外,中介模式系统易用性较差,用户需实现跨云平台资源管理、集成与调度功能。

对等代理模式继承了代理模式的系统易用性优点与中介模式的高复杂度缺点,然而由于云联邦中间件在系统角色与功能方面进行了分层,相对于单一的代理与中介系统架构模式,对等代理模式云联邦系统的云平台规模与服务可靠性具有以下一定程度的优势。

(1)云平台规模:对等代理模式云联邦系统能够在代理层与中介层分别进行中间件节点动态扩展,如果单一代理与中介模式系统能够支持N个云平台,那么对等代理系统可对N个代理进行互联与集成管理,因此云联邦系统能够管理的云平台规模更大。

(2)服务可靠性:对等代理模式云联邦系统通过P2P 网络为代理节点建立资源共享链接提供可靠的中介服务,因此代理节点失效只会影响与其建立链接的代理节点,并且相关代理可以将失效节点的应用负载迁移到本地执行,从而提高了联邦云服务的可靠性。

除此之外,对等代理模式中的代理节点可通过个性化资源管理策略集成管理区域或机构的开放科学资源,并通过可靠的中介P2P 网络实现全球各区域间资源共享,能够更好地符合开放科学场景的跨平台、大规模与自治理资源管理特点,为全球科研合作提供支撑环境。

5 系统关键问题

对等代理模式云联邦系统的主要特点是通过代理与中介模块多层互联与共享机制管理、调度跨区域云平台资源。在实现过程中系统需要解决的关键工程与技术问题可归纳为3 类:联邦云平台互联、联邦云服务集成以及联邦云服务应用。

联邦云平台互联:在提供联邦云服务前,云平台需通过联邦云平台互联机制建立资源共享链接,云平台互联机制分为2 个层面。(1)资源管理控制:开放科学云平台属于独立的资源管理域,代理与中介云联邦中间件需实现管理域间链式元数据管理[25]、身份认证[26]与监控计费[27]等资源管理控制操作;(2)资源共享:为了构建可持续的云平台资源共享生态,开放科学云联邦系统需设计完善的服务合约管理、服务合约运行、服务计量与服务激励机制,促使全球云平台加入云联邦建立资源共享关系。

联邦云服务集成:在提供联邦云服务时,联邦云服务接口调用需解析为异构云平台操作组成的联邦云服务集成计划,该过程主要包括资源供给选择、异构云服务接口适配以及资源传输3 个基本操作。(1)资源供给选择:对等代理资源共享网络中存在多条资源供给路径,联邦云服务集成系统可借鉴商业供应链思想对资源共享网络建模,利用最小费用、最大流等网络流优化策略为联邦云服务动态选择合理的资源供给云平台;(2)异构云服务接口适配:代理中间件需按照开放云计算接口(open cloud computing interface,OCCI)、云数据管理接口(cloud data management interface,CDMI)等中间云服务模型[28]统一管理联邦云服务元数据,建立异构云平台与中间云服务服务模型的适配映射关系,为用户提供统一的联邦云服务接口;(3)资源传输:联邦云服务需在异构云平台间进行资源交换传输,通过标准规范格式文件OVF、AMI、VHD 以及JSON 等持久化镜像、数据、虚拟机、容器等资源对象,并将资源对象传输到目标云平台并同步资源对象的运行时状态[29]。

联邦云服务应用:在科学研究过程中,云联邦系统需为科研人员提供3 类主要的辅助功能:(1)联邦云服务搜索:通过分类搜索、全文语义搜索、本体推理以及资源匹配等个性化云服务搜索操作从大规模计算、数据、文献等多样化科学资源集合中发现满足需求的联邦云服务;(2)联邦计算框架:通过数据流水线、大数据处理、联邦计算以及分布式计算等平台服务(PaaS)使科研人员利用多样化计算与数据资源进行各类科学计算任务;(3)科研工作空间:通过可视化科研工作空间完成文献阅读、数据获取、数据分析、成果发表以及数据再分析等开放科学研究闭环生命周期过程。

6 原型系统实现

2021 年1 月中国科技云(CSTCloud)与欧洲开放科学云(EOSC)合作成立了“全球开放科学云”(GOSC)项目,本文基于GOSC 项目需求实现了一个对等代理模式开放科学云联邦原型系统,通过集成EOSC 与CSTCloud 云平台资源为科研用户提供IaaS层联邦云服务,在一定程度上验证了本文设计框架的可行性与有效性。

云联邦原型系统总体结构如图6 所示,EOSC作为云联邦中介平台通过GOCDB[30]、ARGOeu[31]与EGI Check-In[32]3 个子系统的中介服务协调云平台间的资源共享行为。其中GOCDB 管理用户、角色权限、地区、国家、科研机构以及云平台等对象元数据信息描述;ARGOeu 实时监控GOCDB 中注册的云平台,并对云平台异常状态进行预警;EGI Check-In 将科技云网通行证、GitHub 以及LinkedIn 等身份认证系统的身份标识统一转换为EGI 身份认证令牌,通过与云平台适配集成实现统一身份认证。

图6 云联邦原型系统总体结构

CSTCloud 作为云联邦代理平台通过服务处理器、域控制器、资源传输器及WEB 可视化操作系统4 个主要模块实现异构云平台资源集成管理(如图7 所示)。

图7 CSTCloud 代理平台实现方案

域控制器使用轻型目录访问协议(lightweight directory access protocol,LDAP)对管理域对象信息进行增删改查基本操作;通过Prometheus[33]平台与Exporter 采集器监控云平台运行状态与用户行为;使用OpenID Connect[34]框架集成科技云通行证、EGI Check-In 等第三方身份认证系统;通过Activity[35]工作流引擎调度执行云平台申请、测试、验收及发布等标准化认证流程。

资源传输器通过OpenVPN 服务器连接云平台宿主机VSwitch 虚拟机网卡,统一管理VPN 网络IP地址分配映射与数据转发策略;使用Ceph[36]分布式对象存储系统作为镜像数据中转站,在Rabbit-MQ[37]消息队列的协调下实现云平台虚拟机镜像文件传输、迁移以及备份操作。

服务处理器中Schema 管理器管理虚拟机实例元数据信息以及映射关系;请求处理器接收用户的虚拟机创建、删除以及查询等操作请求,并将请求解析为云平台操作执行计划;请求执行引擎根据请求执行计划发送指令给云平台适配器与资源传输器,最终调用OpenStack、VMware 以及Evcloud 这3 类异构云平台服务接口为用户提供IaaS 层联邦云服务。

WEB 可视化操作系统采用VUE+WEBPACK前后端分离架构,为用户使用云联邦代理点域控制器、服务处理器以及资源传输器功能接口提供可视化操作界面,用户、系统管理员与云平台管理员可登录系统,在WEB 界面上进行虚拟机管理与云平台接入认证等可视化操作。

本文在GOCDB 中认证注册了CSTCloud 代理平台信息,并通过EGI 适配器实现了EOSC 中介平台身份认证与监控接口规范从而使CSTCloud 代理平台与EOSC 中介平台进行对接。因此EOSC 用户可以通过EOSC 中介平台发现并使用CSTCloud 代理平台的联邦IaaS 云服务;同时CSTCloud 代理平台可以将EOSC 中注册的云平台信息动态导入代理点,为CSTCloud 用户提供虚拟机资源联邦云服务。

为了发掘全球开放科学云平台的应用价值,加速系统研发进程,目前CSTCloud、EOSC 以及CODATA 的相关科研人员在“全球开放科学云”原型系统上开展了非相干散射雷达数据融合与计算(3D 雷达)、气候变化与自然灾害(SDG-13)、高度模糊驱动生物分子对接(HADDOCK)等多项国际合作应用示范工作。然而由于开放科学云联邦系统是一个复杂且不断演进的系统工程,本文实现的原型系统在规模与功能方面仍存在一定不足,后续项目实施推进过程还需实现全球科研机构共治的P2P 中介服务网络,同时在全球范围内部署多个云联邦代理点实例,形成大规模的云联邦代理点对等共享网络,从而促进开放科学资源的广泛传播与共享。

7 结论

开放科学运动的飞速发展要求开放科学云平台间资源共享以支持科研人员日常活动与国际大科学合作,本文提出了一种对等代理模式的开放科学云联邦系统框架,相对于单一代理模式与中介模式云联邦系统,能够更好地符合开放科学场景中的跨区域、大规模与自治理资源管理特点。在此基础上设计并实现了云联邦原型系统,集成CSTCloud 与EOSC 云平台资源为科研用户提供IaaS 层联邦云服务,初步验证了对等代理模式云联邦系统框架的可行性与有效性,为“中国科技云”建设以及“全球开放科学云”项目实施提供了技术参考。

由于对等代理模式开放科学云联邦系统是一个复杂且不断演进的系统工程,本文研究工作在系统工程实现与系统性能优化方面仍存在一定局限性,后续工作将在资源共享标准化协议、多级代理结构云服务供给、服务消费者与提供者多对多自适应访问、开放科学资源共享激励机制以及数据安全隐私保护策略等方面做进一步探索研究。

猜你喜欢
中间件联邦资源共享
交通运输数据资源共享交换体系探究与实现
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
303A深圳市音联邦电气有限公司
RFID中间件技术及其应用研究
基于VanConnect中间件的设计与开发
卫康与九天绿资源共享
教育部第一批“国家级精品资源共享课”公布
测量学精品资源共享课建设的探索
中间件在高速公路领域的应用
一种支持智能环境构建的中间件