iEx.ec的应用程序部署

image035
作者:Oleg Lodygensky
iEx.ec团队技术总监。
法国巴黎第十一大学LAL/CNRS的国家科学研究中心高级研究工程师,XtremWeb-HEP的主要开发者。

 

 

EDCON大会后,我们继续系列文章来介绍基于区块链分布式云计算平台iEx.ec背后的技术。上一篇文章我们介绍了XtremWeb-HEP方面的内容,本文会介绍应用程序部署方面的内容。

简介

如前文所述,iEx.ec属于实现三层架构的全球计算平台的知名范例,在该平台上集中服务通过网络连接经分布式服务(如client、worker)实现实例化和访问。

Client一方面提供允许用户与平台交互的接口,使其便捷注册应用程序,如下文所述的内容。另一方面,worker是聚集志愿IT资源来运行处理终端用户数据的应用程序。

下图显示了来自http://xw.iex.ec/dashboard/在iEx.ec平台上可部署使用的不同应用程序,我们可以看到iEx.ec平台的应用范围非常广,适合多种类型的应用程序。

29

通信

iEx.ec通过由分布式服务(如防火墙、漫游等)发起通信,根据需要将应用程序分配到志愿资源。

应用程序安全地存储在服务器端,并通过两个阶段来发布。应用程序从client发送到scheduler,然后从scheduler发送到worker,这些过程都是安全可控的,如之前介绍“安全性”的文章提到的。

应用程序注册

通过分布式client,用户可以将自己的应用程序注册到iEx.ec平台上。这些操作包括发送元数据,提供运行应用程序的二进制、包、库或其他所需资源。这些应用程序资源会被发送到iEx.ec的scheduler或经过端点(如URI)描述以便检索这些资源。用户有责任确保能够访问相关应用程序。如前面的“安全性”文章提到的,注册也遵循安全的相关规则。

通过client,应用程序的注册流程如下:

$> xwsendapp [name] DEPLOYABLE ARCH OS <URI | FILE>

其中,

  • Xwsendapp是指iEx.ec的client;
  • DEPLOYABLE是一个保留动词,授权二进制文件发送给worker;
  • Name是指应用程序名称(必须是唯一的);
  • ARCH是该应用程序的体系结构(如x86_64);
  • OS是该应用程序的操作系统(如Linux);
  • URI | FILE是指向应用程序二进制文件的应用程序二进制文件或URI链接。可以为任何本地文件自动注册数据。数据注册会在之后的文章中详细介绍。

iEx.ec的client有许多参数(库、不同的体系结构、操作系统等),这里我们不再赘述。更多详细信息请参阅相关文档。

【案例】

我们举一个简单例子来说明:为X86_64架构插入带有Linux二进制文件的“ls”应用程序。

通过client,应用程序的注册操作如下:

$> xwsendapp ls DEPLOYABLE X86_64 linux /bin/ls

检索应用程序

通过分布式client,用户可以检索应用程序。如“安全性”文章中提到的,检索操作遵循安全规则。

通过client,应用程序的检索操作如下:

$> xwapps

UID =’3fb96415-be5d-4300-8ae5-87af64733826’,NAME =’ls’

删除应用程序

通过分布式client,用户可以删除已注册的应用程序。如“安全性”文章中提及的,删除操作遵循安全规则。

通过client,删除应用程序操作如下:

$> xwrm UID|URI

其中xwrm是iEx.ec上的client运行的命令,UID|URI代表唯一的应用程序标识符。

应用程序部署

通过分布式worker,一旦用户提交了要执行的任务,相关应用程序就会被自动部署。Worker检索元数据(如二进制、包、库等)和元数据中描述的所有资源。如果元数据或相关文件不可访问,worker会谨慎拒绝该应用程序。如“安全性”文章中提及的,部署操作遵循安全规则。

30

结论

本文介绍了iEx.ec的应用程序部署方面的内容。之后我们会介绍数据管理方面的内容,敬请关注。

 

【原文地址】https://medium.com/iex-ec/iex-ec-application-deployment-124a2c91b2c5#.flxlr1r2s

联系方式

诚挚邀请您加入或者联系我们,与我们更多互动交流:

https://iexec-team.slack.com

https://twitter.com/iEx_ec

https://www.reddit.com/r/iexec/

资源

iEx.ec Github:https://github.com/iExecBlockchainComputing/

XtremWeb-HEP Github:https://github.com/iExecBlockchainComputing/xtremweb-hep

XWHEP资料:

https://github.com/iExecBlockchainComputing/xtremweb-hep/blob/master/doc/xwhep-intro.odt

2014CrowComputing大会上XWHEP介绍视频:https://vimeo.com/113122296