基于云的应用工厂及发布服务的制作方法_2

文档序号:8516037阅读:来源:国知局
服务106的管理员102。各代理存在在客户端机器108-1、108-2到108-n上,以从云服务106流传输经虚拟化的应用。云服务106将本地应用104定序到虚拟应用104’并将其发布到客户端机器。
[0032]存在针对这个主情形的各子情形。例如,如图1B所示,在一些实施例中,管理员102将现有经虚拟化的应用104’直接上传到服务106的公布(或流传输)部分。虚拟化的应用104’接着被发布到客户端机器(一般地称为108,在图1A和IB中具体示出在108-1、108-2和108-n)。服务106提供用于主存经虚拟化的应用104’并将其发布到客户端机器108的基础构架。
[0033]在图1C中示出的另一个示例子情形中,管理员102将本地应用104上传到服务106的定序部分,并下载经虚拟化的应用104’ (定标到特定版本的客户端代理)、
[0034]各实施例可使用构建到装箱的定序器中的逻辑来实现,以直接与基于云的包加速器服务进行接口对接,并诸如通过提供预先定义的脚本或“处方”来简化复杂应用的定序。然而,与加速器服务进行接口对接不限于装箱的定序器。例如,云中的定序器也与包加速器服务进行接口对接。
[0035]可实现一些实施例来以按应用付费模型/在应用工厂基础上提供定序。例如,管理员102可上传一个或多个应用104用于定序,并针对定序到虚拟应用104’的应用的数量来作出付费。客户(例如,管理员102)可基于对客户可用的指定许可模型来直接下载经虚拟化的应用。
[0036]现在参考图2,示出了主存在云中的应用工厂和发布服务106的框图解说。应用工厂和发布服务106包括三个核心组件。S卩,服务包括web前端110、定序器角色112,和重新映像角色114。除了上面的核心组件,各实施例还可包括加速器逻辑以简化复杂包的定序。这作为web服务来实现,它向在场所内定序器服务和/或基于云的定序器服务提供包加速器。
[0037]Web前端110是用户(诸如管理员102,(见图1A — 1C))直接与之交互的组件。它提供各种功能。具体而言,web前端110提供web应用用于上传本地应用安装器使得它们可被转换成经虚拟化的应用并被流传输到经虚拟化的应用客户端。Web前端110提供web应用用于将预定序的经虚拟化的包上传到云。Web前端110提供web服务,该web服务用于主存经虚拟化的应用以流传输到客户端108 (见图1A)。Web前端110组件经由包括表118、队列120和团块122的云存储116与系统106的其它部分进行通信。
[0038]以下示出关于定序器角色112的附加细节。一旦本地应用104(见图1A)被上传到服务106,它们就由定序组件转换成经虚拟化的包104’,使得它们可被流传输到客户端108。该定序通常在定序器角色112上完成。现在参考图3示出进一步的细节。Web前端110使用队列120-1与定序器角色112进行通信,其中它发送包括包名称、包安装器(如果对包加速器的搜索应当被执行),以及(如果适用)在定序期间使用的包加速器的消息。具有干净状态的新鲜重新映像的定序器实例112-1或112-2(在重新映像后其上没有已完成的先前定序,以下详述)将拾取该消息并开始应用104的定序。一旦定序已经在定序器实例(例如112-2)上开始,它就将标记自身为脏,使得它不能定序任何更多应用,直到它已经被重新映像。重新映像的过程是自动化的过程,不需要用户干预,如以下更详细地讨论。队列(一般称为118)的使用以及自动化的映像允许多个应用被不同定序器实例(一般称为112)并且以自动化的方式并行定序。
[0039]现在参考图4,示出了关于图2中示出的重新映像角色114的附加细节。定序通常在处在已知状态的计算机上完成。这最容易在不具有多个被安装的或在系统上运行的应用的计算机上完成。出于这个原因,主存定序实例的虚拟机可在每个定序循环后被重新映像。这可通过维持对应于定序器虚拟机的实例ID的队列120-3来实现。图4示出了重新映像流。
[0040]图4在I示出了,对实例名称进行排队的动作。例如,标识先前用来定序应用的虚拟机实例的唯一标识符可被添加到队列120-3。在2,去队列(de-queuing)的动作被示出。例如,如所示,重新映像实例114可以从队列120-3将标识符去队列。在3,加载证书来用作HTTPS调用的动作被示出。例如,可加载用于服务106的证书126。在4,向基于云的服务管理API发送HTTPS请求的动作被示出。例如,对重新映像VM的请求可被发到服务106。在5,获取帐户细节、实例和证书的动作被示出。在6,验证并接受请求的动作被示出。在7,重新映像实例的动作被示出。例如,先前用于定序的VM可被重新映像。
[0041]如上所示,重新映像服务通过调用基于云的服务管理API来基于定序器角色填充的队列来重新映像特定实例来进行。具体地,重新映像可使用对基于云的服务106而言本地的功能来执行。
[0042]现在参考图5,各实施例还可实现包加速器服务128。运行在云服务106(即,在基于远程的服务上的)中工作者角色上或在场所内(即,在对于企业本地的基于本地的服务处)的定序器112-3可以与包加速器服务128集成。如果客户想要使用包加速器服务,那么定序器112-3可查询包加速器服务128寻找任何可被用来加速定序过程的包加速器。包加速器通过提供用于定序应用的预先定义的脚本或“处方”来提供定序这些应用的简化的方式。包加速器服务128是部署到基于云的服务106的web服务,其存储有关已知包加速器的信息连同有关它们可以使用的应用和安装器的信息。服务它本身可以以非常直接的方式实现,在一些实施例中仅需要基本的CRUD(创建读取更新删除)操作。
[0043]包加速器访问128将关于包安装器的信息存储在云存储116中。包加速器服务128的使用现在以附加的细节示出。用户上传安装器并确认他们想要使用包加速器服务128。工作者角色上(或在场所内系统103上)的定序器112-3提取关于安装器的信息诸如,例如,安装器散列、应用名称、产品名称、产品版本等。定序器112-3将此信息发送到包加速器服务128。包加速器服务128基于该信息执行搜索,以标识任何包加速器并返回任何找到的标识可被用于定序的任何包加速器的加速器信息。找到的包加速器中的一个或多个可被下载到临时位置。定序器上的任何下载的包加速器的包加速器流接着被启动。
[0044]定义包加速器服务128的接口展示了用于添加和取回包加速器并列举任何现有的包加速器集合的方法。如果没有找到包加速器,那么就跟随在被定序时监控应用的现有定序流。
[0045]以下讨论现涉及可以执行的多种方法以及方法动作。虽然用特定次序讨论或用以特定次序发生的流程图示出了各个方法动作,但除非明确规定或因为一动作依赖于另一动作在执行该动作之前完成而需要特定次序,否则不需要特定次序。
[0046]现在参考图6,示出了方法600。该方法600包括用于基于本地应用从基于远程的系统提供虚拟应用的动作。该方法600包括,在基于远程的系统处,接收来自远离该基于远程的系统的场所内系统的本地应用(动作602)。例如,图1A示出了在场所内系统103处接收来自管理员102的本地应用104的服务106。示例地,场所内系统可以是物理上接近企业的系统。例如,场所内系统可物理地位于与管理员102相同的位置。基于远程的系统(例如,服务106)可物理地位于远离管理员102。具体而言,基于远程的系统可以是位于并连接多个不同企业的系统,每个企业有它们自己的场所内系统,可连接到基于远程的系统。
[0047]该方法600还包括,在基于远程的系统处,将该本地应用定序到虚拟应用(动作604)。如,图2所示,在基于远程的系统106处的定序器角色112可被用来将本地应用104(见图1)定序到虚拟应用104’。定序器角色112可通过安装并设置要使用的应用并监控应用104的安装和设置过程,来定序应用104。定序器角色112记录应用104在虚拟环境中运行所需的信息。
[0048]该方法600还包括,将该虚拟应用提供给不同于该基于远程的系统的系统(动作606) ο例如,如图1A所示,可向客户端机器108提供虚拟应用104’。可替换地,如图1C所示,可将虚拟应用104’提供返回到场所内系统103和管理员102。
[0049]如上所述
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1