iExec开发通讯#5

本次双周刊开发通讯中,我们很高兴推出一篇新的文章,它深入到iExec基于区块链的分布式云背后的技术。本文介绍了iExec Docker容器管理。

概述

在前一篇文章中,我们介绍了“提供者共享”的iExec范例,并将重点放在虚拟机(VM)管理上,作为第一个用例。在本文中,我们将展示这个范例如何应用于Docker容器。
Containers的目的是创建和运行虚拟环境(VE),允许隔离应用程序的执行,而不需要启动单独的操作系统(OS)。最后一个特性——不需要添加另一个操作系统层——是与VM的主要区别,它大大减少了与其他技术的开销和占用空间。如果你感兴趣的话,请阅读这篇介绍文章。
前一篇文章中,对iExec提供者的共享架构、安全性和用例进行了详细介绍。今天,我们将详细介绍如何管理这些共享,如何注册、部署、启动和停止作业。

部署

传统上,全局计算平台决定了要发送什么和送往何处:一个使用Linux二进制文件的应用程序只能被发送到运行Linux操作系统的资源上。我们的“提供者共享”范式允许声明本地节点的组件,并且不会在网络上传输。当软件组件不能被动态安装时:它可能太重、太复杂,甚至需要一些特权,这是很有用的。
我们的技术允许逆转部署方案:“提供者的共享”是不应该部署的软件组件,并且从不传输。

注册

用户还必须能够引用和使用数据和计算。为此,注册过程保持不变:资产、共享或分布式,必须在调度程序端注册。
应用程序注册是通过中间件提供的“xwsendapp”客户端工具完成的。但是注册共享一个可能是非常棘手的,并且需要若干步骤从而导致错误或误解。为了简化共享资产的注册,中间件提供了特殊的工具,每一类软件组件:
“xwaddvbapp.sh” (aka “xtremweb add virtualbox application”)
“xwadddocker.sh” (aka “xtremweb add docker application”)
这些工具注册了共享应用程序——Virtualbox和Docker——这样用户就可以分别提交VM和容器。然后,可以使用“xwapps”客户端工具来检索这些共享应用程序。

用法

一旦Docker注册为一个共享应用程序,终端用户就可以提交和管理容器,使用“xwsubmit”、“xwworks”、“xwresult”等客户端工具,就像任何工作类型一样。

结论

本文更深入地介绍了iExec“提供者共享”范例,并展示了容器在分散的云上的管理。