云应用部署可移植性的制作方法

文档序号:6498564阅读:117来源:国知局
云应用部署可移植性的制作方法
【专利摘要】一种系统(100)包括可移植性管理器(160)以提供可移植性指令来规定给定应用(110)在云基础设施(130)上的部署中的改变。部署管理器(120)响应于所述可移植性指令并且基于使云基础设施资源与对于所述给定应用(110)的应用要求相匹配来控制所述给定应用(110)在所述云基础设施(130)上的部署或生命周期管理。
【专利说明】云应用部署可移植性

【背景技术】
[0001]云计算指的是可伸缩的和合并的计算、存储以及联网能力作为服务到终端接收者的网络的递送。名称来自云作为网络的复杂基础设施和可在云内操作的关联硬件的抽象的使用。例如,云计算通过网络为用户的数据、软件以及计算提供服务。这样的计算能力依靠资源的共享来通过网络(通常为因特网)实现规模与公用设施(例如电网)类似的相干性和经济。部署在支持云的资源上的应用目前常常不得不被手动地部署并且那消耗相当多的管理时间。部署应用的手动步骤包括基础设施的提供和安装。这需要从应用的安装或映像的部署链接到所部署的基础设施的完备知识。手动部署通常需要由试图部署应用的用户所通常启动的步骤的许多序列。

【专利附图】

【附图说明】
[0002]图1图示了促进云应用的自动化部署、应用可移植性以及工作负荷管理的系统的示例。
[0003]图2图示了用于针对云基础设施应用要求使资源能力相关联的可移植性管理器和部署管理器的示例。
[0004]图3图示了用于应用的自动化可移植性、部署以及监视的示例系统。
[0005]图4图示了对于应用的可移植性、部署以及监视利用闭环反馈的示例系统。
[0006]图5图示了用于应用的自动化可移植性和部署的示例方法的流程图。
[0007]图6图示了用于云应用的自动化可移植性和部署的示例部署系统。

【具体实施方式】
[0008]图1图示了促进应用在云环境中的自动化部署、可移植性以及工作负荷管理的系统100的示例。系统100能够通过利用部署管理器120以确定云基础设施130 (还被称为云或云基础设施130)的基础设施能力来提供应用110的自动化部署或生命周期管理。部署管理器120还能够通过分析应用模型140和策略150来确定应用110的应用要求。基于这样的确定,部署管理器120能够通过使应用的应用要求与云的所确定的能力和资源相匹配自动地将应用110部署在云130上。基础设施资源与应用要求之间的匹配能够经由诸如理想拟合或接近之类的不同准则来识别。基于例如匹配中的接近的量度和/或其他策略要求,能够选择基础设施资源与应用要求之间的匹配并且能够提供/实例化基础设施。在资源与应用要求的这样的绝对匹配或尽力而为匹配之后,然后应用110的组件能够被部署在云上。
[0009]系统100包括编程为规定可移植性指令的可移植性管理器160,所述可移植性指令能够更新策略150和/或应用模型140以用于将给定应用110部署在云130上。在一个示例中,可移植性指令更新策略150和/或应用模块140以规定部署管理器120的部署。在另一示例中,例如,可以诸如通过能够由应用编程接口(API)所提供的命令将可移植性指令直接地(而不用更新策略或应用模型)供应给部署管理器120。
[0010]在图1的示例中,在云130中示出了两个部署A和B,但是多个不同的部署跨越其中不同的服务提供商和资源支持云的异构云环境是可能的。因特网只是异构云的一个示例。因此,基于部署请求170,可移植性管理器160能够指示部署管理器120将应用110从一个部署(诸如例如部署A)移动到云130中的另一部署(诸如例如部署B)。可移植性管理器160能够被实现为包括应用编程接口(API)或图形用户接口(⑶I),例如,以接收部署请求。如所示,监视器组件180能够监视来自云130中的部署的反馈来为如在下面描述的工作负荷管理(例如,按比例放大或缩小应用环境和基础设施资源)这样的特征提供信息。
[0011]部署管理器120能够基于如由可移植性管理器160所修改的策略150和应用模型140来修改给定应用110的部署。应用模型140能够被采用来诸如通过用于应用的各种组件的元数据描述来表征用于部署在云基础设施130上的给定应用110。
[0012]部署管理器120和可移植性管理器160能够经由存储在存储器中并且可由处理器执行的指令来实现以基于与给定应用相关联的应用模型140和策略150 (或诸策略)来分析对于给定应用110的应用要求。如将在下面所描述的那样,策略150能够被提供来描述应用110的附加的操作上下文(例如,在午夜之后操作应用、使用仅东海岸服务器、维护服务器之间的负荷均衡等等)。部署管理器120然后能够确定在云基础设施中足以实现如由模型140和策略150所规定的应用110的应用要求的一组基础设施资源。部署管理器120还能够基于由可移植性管理器160向部署管理器120所发出的命令将部署从部署A改变为部署B。
[0013]系统100利用动态应用模型140的能力(例如,可在请求变更应用部署时改变)和还能够包括动态基础设施模板和动态绑定的策略150来跨越潜在异构的混合云130或资源池提供应用和工作负荷可移植性。还能够提供工作负荷管理(例如,基础设施资源的自动定标、按比例放大或缩小)。例如,基于负荷,可以执行向外扩展/向内扩展操作或基于策略准则将应用移动到另一位置。应用模型140或策略150能够描述如何部署(或者拆除/取消部署)在针对给定应用的部署所利用的云基础设施的一部分中的应用。例如,应用模型140或策略150能够针对给定应用的部署或指令引退而从云基础设施130中识别基础设施资源和所需要的内容。可移植性管理器160能够针对应用110的部署并且基于请求170来改变策略160和/或应用模型140。即使云基于不同的AP1、网络资源等等,也能够在另一云配置上(例如,从A到B,或者反之亦然)实现部署中这样的改变以提供所期望的信息来在不同的配置上执行应用。用于跨越不同的部署移动应用110的示例原因例如能够包括负荷均衡、从专用配置向公用配置移动或者反之亦然、增加或减少应用的资源以及跨越不同的基础设置资源将应用按比例放大或缩小。
[0014]将应用110从一个部署移动到另一部署能够包括经由部署管理器120将应用部署到不同的云配置(例如,或资源的池),其中策略150和/或应用模型140规定基础设施资源在不同云中的使用。在这样的示例中,能够经由可移植性管理器160来调整策略或应用模型以实现这样的改变。例如,如本文中所提到的那样,用于移动应用110的这样的规格和命令能够经由部署请求170发起,所述部署请求170能够包括经由API或GUI所接收到的请求。
[0015]作为另一个示例,应用110及其对应的当前部署能够由诸如能够被存储在储存库或数据库(未示出)中的实时服务模型(RTSM)识别。可移植性管理器160能够调用RTSM来识别用于所对应的当前部署的基础设施资源并且在已实现新的部署之后取消部署/指令引退应用和基础设施。例如,旧部署的这样的指令引退还能够由API请求或⑶I请求发起。
[0016]例如,除将应用从一个部署移动到另一部署之外,可移植性管理器160和部署管理器120能够协作以管理云部署的其他相关方面,包括工作负荷管理。工作负荷管理能够包括用于给定应用的部署的所关联的基础设施资源的按比例放大或按比例缩小/工作负荷管理。工作负荷管理还能够由针对给定部署来调整工作负荷(例如,经由⑶I请求或API请求)的请求产生。除工作负荷管理之外,部署(例如,应用组件的移动、拷贝、指令引退)能够被用于给定应用的生命周期管理。例如,与部署管理器120或可移植性管理器160分离的组件或系统能够在当前应用部署由于生命周期操作而从它们的初始部署改变的情况下对生命周期操作进行调度。例如,作为调度的生命周期操作的一部分,能够经由可移植性指令发起部署以移动、拷贝或者指令引退给定应用(或其关联的组件/工件)作为生命周期操作的一部分。附加地或可替换地,能够响应于检测到事件(例如,经由反馈)触发生命周期操作。
[0017]能够在部署管理器120中提供附加的逻辑以处理从监视器180接收到的事件(例如,基础设施监视)。这样的监视逻辑因此能够检测事件的发生并且触发用于对应部署的资源参数的调整。作为结果并且为了按比例放大,例如,针对给定应用110的云部署能够被移动到较少负荷的环境。应用110的新的实例能够被部署在云环境内的不同部署中。为了按比例缩小,能够取消部署/指令引退应用的旧实例,诸如可以经由上面所描述的RTSM来识别并且基于修改的应用模型140和策略150重新部署。策略150和/或应用模型140还能够请求改变或者重新配置业务实例以及定标何时改变。如果需要(例如,由管理员期望/请求或作为监视的结果)工作负荷可移植性能够包括将完整的一组应用移动到新的云。
[0018]能够跨越可以全部为异构的基础设施、云或池提供应用可移植性。这能够包括基于一个或多个硬件(HW)和/或软件(SW)配置的实施方式。还能够在一个或多个HW/SW配置上识别系统100中的模块。还能够为软件即服务(SaaS)和关于在HW和/或SW上和在云130上的虚拟化版本提供支持。
[0019]云130可以是混合的以便使得它可以是传统数据中心的组合,其被做出成表现得像基础设施资源、专用云(在内部开发的云技术)、公用云(由服务提供商提供)以及受管理云配置(在内部或在公用云/虚拟专用云中管理)。如本文中所使用的那样,术语应用适用于组件的合集。例如,应用110能够由一组工件(例如,安装程序、可执行文件、配置等等)和被安装并且与彼此交互的一组组件(例如,代码、中间件(MW)、数据库、操作系统(OS)等等)来表征。并且,如本文中所使用的那样,术语确定能够包括编译、枚举以及匹配。
[0020]如本文中所使用的那样,术语“基本上”旨在指示虽然正被修改的术语的功能或结果是期望的或计划中的结果但是一些变化能够产生。在这个上下文中,例如,术语“基本上匹配”描述了结果得到的分析和比较被执行以识别为相同的资源的情形;然而,在实践中匹配能够对应于充分地类似于使得能实现部署的一组资源。在一个以上这样的一组资源可能对应于匹配时,部署管理器120能够选择最佳匹配的一组可用资源。能够利用用于选择这样的匹配的其他方法。
[0021]应用模型140能够被采用来诸如通过用于应用的各种组件的元数据描述来表征用于部署在云网络130上的给定应用110。部署管理器120能够经由可由处理器执行的指令或可由处理器读取的数据来实现以基于与给定应用相关联的应用模型140和策略150 (或诸策略)来分析对于给定应用110的应用要求。如将在下面所描述的那样,策略150能够被提供来描述应用110的附加的操作上下文(例如,在午夜之后操作应用、使用仅东海岸服务器、维护服务器之间的负荷均衡、部署在给定网络域内、确保负荷在服务器上的规定限制之间、确保在给定窗口内不存在即将到来的维护等等以及匹配的“测量接近”的技术)。部署管理器120然后能够确定在云网络中足以实现如由模型140和策略150所规定的应用110的应用要求的基础设施资源。
[0022]云130的基础设施能力能够经由与云相关联的资源供应和元数据确定。例如,支持云130的多个服务提供商能够提供规定他们让什么类型的资源可用的文件和描述相应资源供应(例如,可用的三个服务器的资源供应,其中元数据规定存储器大小和处理器速度、负荷(如果已经实例化)、位置、租赁条款、服务级别协定(SLA)、调度的维护等等)的感兴趣属性的元数据。在一个示例中,部署管理器120能够在使应用110的应用要求与如由资源供应和元数据所规定的云的能力相匹配之后自动地将给定应用110部署在云网络130上。在这种示例中,它通常相当于(可能通过调用管理基础设施的和/或应用的生命周期的外部系统)执行在下面所描述的其他以下示例的指令。
[0023]如先前所指出的那样,术语应用110能够包括将被安装和执行的一组组件(例如除用来安装这样的组件的代码和这样的组件的配置之外的多个分层逻辑、用户接口(UI)、MW、DB、0S)。因此,应用110指的是还能够包括这样的组件和工件的储存库的组件和工件的这些集合。应用还能够由包括单独的指针或一组组件的指针的组件和工件的指针来识别。在另一示例中,部署管理器120能够生成关于如何将给定应用110部署在云网络130上而通知系统(或用户)的指令。在任何一个示例中,部署管理器120自动地使如由模型140和策略150所规定的应用110的要求与如由资源供应和元数据所规定的云130的能力相关联。
[0024]与常规系统的手动过程相反系统100利用策略和模型驱动方法来使部署自动化。系统100能够基于表征它们在基础设施属性方面的要求的模型140和策略150来动态地(或静态地)优化基础设施资源(由元数据属性来表征)并且将基础设施资源绑定到应用110。这能够包括使应用元数据与资源元数据相匹配以及考虑策略和上下文使应用和它们的组件/依赖性在云130上的优化的或优选的/标记的部署自动化而同样无需手动部署步骤。在一个示例中,系统100允许实例的跟踪同时还支持这样的实例的自动化管理(例如,在下面所描述的自动化监视和反馈)。不同的技术被提供来吸入、创造和设计还能够描述基础设施模板、应用模型以及策略的元数据。这样的实例能够连同应用110、应用模型140以及策略150 —起存储在数据库或储存库(未示出)中。
[0025]系统100能够对于监视应用采用闭合反馈回路(见图4)。这样的监视应用可以基于诸如用来例如按比例放大或者按比例缩小应用执行要求以及用来通知适当的接收者(诸如用户或其他系统应用)的策略。在一个示例中,监听器能够被安装在各种组件中以从监视捕获事件。由监听器所接收到的事件能够触发处理机,所述处理机能够生成对系统的生命周期管理操作(例如,按比例放大、按比例缩小、移动、取消提供、向某人报警、运行可能牵涉本文中所描述的系统和其他应用的合成的另一可执行文件等等)。
[0026]能够在一个或多个硬件平台上实现系统100,其中能够在一个平台上或跨越多个平台执行系统中的模块。这样的模块能够在云技术(各种形式/和混合云)上运行或者作为能够被实现在云上或云之外的SaaS (软件即服务)提供。能够在需要的基础设施上自动地部署复杂应用,而同样无需用户理解如何执行这样的操作。策略150为帮助管理员减轻部署错误的操作指导方针提供自动化指令。元数据还能够通过识别应用的类型(例如,经由Π或API)与应用相关联,然后用户不必理解应用特性。这个方法对于应用基于它们与元数据的关联而允许“最佳实践”、推荐的或强加的部署模型。
[0027]策略同样允许使应用特性与其他上下文考虑事项(例如,关于用户、关于应用、关于基础设施、关于上下文、关于该特定用户、关于该特定应用等等)分离。这促进应用模型跨越许多应用的再使用。还能够经由策略实现特殊化。这同样是例如系统如何强制实行特定的一组特性值对于给定应用或版本来说为固定的。例如,系统能够对于web应用应用通用应用模型,然而在另一情况下,为模型的属性显式地规定不同的模型或特定值。还能够从混合云提供资源(例如,一些资源从本地数据库或服务器提供而一些资源从因特网服务提供)。
[0028]出于说明的简单目的,在图1的示例中,系统100的不同的组件被图示和描述为执行不同的功能。然而,本领域的普通技术人员应理解和了解,所描述的组件的功能能够由不同的组件执行,并且能够在单个组件上组合和执行数个组件的功能性。组件能够被例如实现为计算机可执行指令、硬件(例如,专用集成电路或处理单元),或者实现为两者的组合。在其他示例中,组件能够跨越网络分布在远程设备之中。在一个示例中,能够定义拓扑,其中应用模板能够包括应该部署哪些组件(例如,什么组件要被部署在哪一个位置处)的拓扑模型。在一个示例中,部署管理器120能够提供有拓扑模型并且然后确定和它匹配的最好的基础设施资源。在另一示例中,在资源的提供和应用组件的部署之后,然后能够创建拓扑实例。它能够被存储和用于以后的管理、监视等等。
[0029]图2图示了用于使云基础设施230的资源能力220与应用的应用要求240相关联的可移植性管理器208和部署管理器210的示例。可移植性管理器208与部署管理器210合作来改变如上面关于图1所描述的云基础设施230上的部署。资源能力220能够包括资源供应250,其可以来自由支持云230的多个资源提供商所提供的资源供应的池。例如,这样的资源供应能够包括云服务(例如,可经由对应的应用程序接口(API)访问)、能够激活和提供这样的服务的现有系统或现有外部合成物(具有功能调用的参数化工作流/合成脚本)中的一个或多个。资源供应250能够由资源提供商编译/从资源提供商吸入。
[0030]资源能力220还包括与表征资源的感兴趣属性的每个资源供应相关联的资源元素据260。能够例如基于资源供应(诸如在其吸入时)生成资源元数据。例如,这样的元数据260能够规定除其他规格、容量、SLA、调度维护、工作负荷(如果已经在部分使用中)外的位置/拓扑(例如,用于合成资源)、硬件、CPU、存储器、被包括或支持的操作系统、其他软件方面以及标签。资源元数据260能够与由资源设计或吸入过程所设计或添加到资源池的任何资源相关联。描述应用模型和资源供应的元数据能够经由设计者(例如,工具、入口 UI或API)捕获以描述元数据。包括秘诀(recipe)(例如,与诸如取消部署和监视之类的部署和其他生命周期管理功能的指令相对应)的元数据能够构成资源模板。由元数据所规定的资源元数据260和所关联的资源供应250能够作为能够被其他应用利用的模板(例如,元数据和供应的数据文件)的一部分被提供。
[0031]给定应用的执行要求240能够经由能够在应用设计时或在应用设计之后定义的应用元数据270规定。这能够包括待个别地部署的组件(例如,多个层中的多个应用)。应用元数据260还能够规定关于资源的要求/偏好。这能够包括作为工作流或过程(异步的或同步的)的通用部署脚本。部署脚步能够进一步包括用于每个组件的部署指令(例如,用来在分配的资源上运行的脚本、服务的指令等等)。这能够包括用来部署代理或者为监视和/或管理做好准备的关联指令。能够跨越组件应用指令。一般而言,应用元数据270能够表示上面关于图1所描述的应用模型。给定应用模型能够被存储在存储器中并且由多个应用利用来促进其部署。如先前所指出的那样,应用能够包括提供有被部署脚本利用的应用的多个协作组件和工件(例如,源或可执行的和可安装的)。
[0032]如所示,能够提供适用于应用/基础设施并且参考用于操作应用的上下文的附加的策略280。例如,策略可以规定应用的位置(例如,仅在东海岸服务器上操作)、时间(例如,在午夜之后和在上午6点之前操作)、处理要求(例如,所规定的处理速度和存储器需要)和/或负荷均衡要求(例如,无服务器将在超过50%负荷情况下操作)、SLA、可用性要求(例如,在接下来X天内无调度维护等)、安全(例如,特定网络域或安全域)。如本文中所公开的那样,策略可以是可编程的并且诸如响应于请求(例如,部署请求或响应于检测到一个或多个事件触发的请求)而被修改。
[0033]应用能够由部署管理器210像由可移植性管理器208通过检索所关联的元数据170并且基于最佳匹配(如果例如由策略强加则可以是确切标记)和在资源的池中可用的资源供应150匹配所命令的那样来部署。资源元数据260与应用元数据270的匹配能够根据严格规格(例如,处理器必须在I GHZ下操作)或者能够根据阈值规格(例如,在500 MHZ之上操作的任何处理器都是可接受的)被匹配。因此,匹配在该匹配是最佳拟合或接近于所期望的匹配准则情况下可以是绝对匹配或者可以是基本匹配。秘诀能够由部署管理器210处理并且指的是用于应用部署的代码/工件。例如,这样的秘诀能够经由已知储存库位置变得可用或者经由秘诀的指针来参考。例如,对应于应用的合成资源的拓扑能够被部署管理器210保存为新的资源类型以用于在类似的应用元数据被另一应用使用时再使用。相同的应用或类似的应用的多个版本能够再使用相同的应用元数据和应用模型,但是,例如,采用不同的策略来涉及操作上下文。
[0034]图3图示了用于应用的自动化部署和监视的示例系统300。系统300包括用于应用的自动化部署的执行引擎310。这样的引擎还能够包括用于与服务提供商建立服务级别协定的提供管理器并且能够包括上面所描述的部署管理器和可移植性管理器。事件处理器和调度器314能够被用于处理应用事件并且对与应用相关联的任务进行调度。如先前所指出的那样,能够定义和安装监听器/处理机以用于监视事件。这能够包括对提供/部署和后续生命周期管理运营进行调度(例如,今夜或部署持续接下来2个星期)。配置监视器320和规则弓I擎能够被采用以用于配置监视器组件324。监视器组件324提供来自应用并且用于应用用于执行该应用的规则和策略的反馈。
[0035]例如,系统300包括能够包括应用模型、基础设施模型以及工件指针的模型数据库330。实例数据库334能够被采用来存储应用的实现的目标实例。应用用户接口 340能够被采用来设计应用并且配置用于操作该应用的元数据,然而基础设施用户接口 344能够被采用来规定基础设施要求。例如,部署组件350能够包括诸如可以经由部署秘诀所规定的部署应用编程接口(API)和指令。一个或多个调出(call-out)354能够为给定应用规定定制的操作指令。提供组件360能够包括用于与各种云基础设施组件交互的提供API和插件。
[0036]系统300能够作为设计者工具被利用来构建/部署基础设施和应用模板。它同样允许应用开发者、测试者或其他管理员或设计者构建应用模型。类似地,它们能够为应用的执行和部署设计策略和规则。基础设施和应用数据中的一些或全部能够被吸入到分别作为数据库330和340所示出的储存库中。可替换地,这样的基础设施或应用数据能够经由API来传递。应用工件(代码、可执行文件、安装包等等)能够经由数据库或API被同样吸入或参考。例如,API或入口用户接口 340和344能够被用来联合或者上传请求以在还指示要使用的应用模板和策略的同时进行匹配和部署。这样的API和用户接口能够作为先前所描述的设计者工具的一部分被实现,以定义元数据并且与基础设施相关联(例如,经由基础设施模板和拓扑)。
[0037]能够提供代理和监视工具的准备和建立以便使得应用能够发现实例(其已被仪表化并且如果需要具有代理)。这能够在将应用及其关联的组件绑定到基础设施资源之后经由利用来部署基础设施和应用元件的指令/秘诀来实现。事件/报告允许闭合反馈回路,所述闭合反馈回路能够被用来如果策略允许则针对将来的改变(基于策略)按比例放大/按比例缩小或者更新上下文/策略以及通知适当的方或系统(见图4和下面的描述)。如上面所指出的那样,云和资源池可以是其中一些资源被在本地服务而一些被远程地服务的混合实体。对于能够支持保证/监视事件的自动定标、工作负荷管理以及处理的云或硬件资源,应用可以是自我管理的(例如,利用反馈来确定性能,变更应用要求,并且必要时生成警报)。
[0038]图4图示了利用闭环反馈来促进应用的可移植性、部署以及监视的示例系统400。系统400包括执行来自存储器414的指令的处理单元410 (例如,处理器)。存储器414包括被配置用于存储与计算机相关联的计算机可执行指令的任何存储介质(例如,易失性的或非易失性的)。处理单元410和存储器420能够作为部署工具420的一部分被提供,所述部署工具420像由可移植性管理器454所命令的那样经由部署管理器450将应用430部署在云基础设施440上。如所示,反馈460从所部署的应用430被接收并且由监视器组件470处理。这样的反馈460可以是来自所部署的应用430的指示应用如何在执行的状态或事件。在一个示例中,反馈460能够被采用来调整所部署的应用430的操作参数,其已根据先前确定的应用要求被设置。例如,可以调整前台任务以便使得任务在与目前正在执行的不同数目的微秒期间操作。这能够包括按比例放大或缩小所部署的应用430的操作要求。在另一示例中,反馈460可以被采用来调整云网络的操作基础设施440。例如,服务级别协定可以与云网络服务提供商自动地重新协商以增加或者减少可用资源以适当地满足所部署的应用430的操作需要。
[0039]计算机480能够操作一个或多个接口 484以对应用模型490进行编程并且存储在数据库494中。计算机还能够与部署工具420交互以变更部署并且促进应用的生命周期管理。接口 484还能够配置基础设施模板,变更操作要求,配置监视器组件470,并且与在系统400内所生成的事件和警报交互。如先前所指出的那样,连同在云上执行一起,所部署的应用430能够跨越不相关云传播或者作为混合应用的一部分被提供。例如,能够部分地在云基础设施440上和部分地在作为与云不同的实体(例如,本地服务器数据库对网络数据库)的数据库494上执行所部署的应用430。
[0040]鉴于上面所描述的前面的结构和功能特征,将参考图5更好地了解示例方法。虽然出于说明的简单目的,图5的示例方法被示出和描述为串行地执行,但是应当理解和了解的是,本示例不受所图示的次序限制,因为一些动作在其他示例中能够以不同的次序和/或同时根据本文中所示出和描述的次序发生。而且,不必要执行所有描述的动作来实现方法。图5的示例方法能够被实现为能够被存储在非暂时性计算机可读介质中的机器可读指令,诸如可以是计算机程序产品或其他形式的存储器储存器。与图5的方法相对应的计算机可读指令还能够从存储器存取并且由处理器(例如,图4的计算机系统410的处理单元)执行。
[0041]图5图示了用于应用的自动化可移植性和部署的示例方法500。在510处,方法500包括提供描述不同于用于云基础设施上的给定应用的当前部署的用于云基础设施上的给定应用的执行环境的可移植性指令(例如,经由图1的可移植性管理器160)。在520处,方法500包括基于描述用于给定应用(例如,图1的部署管理器120)的已修改部署的可移植性指令来管理云基础设施上的给定应用从当前部署到已修改部署的部署。方法500还能够包括监视来自给定应用的反馈并且基于该反馈来变更部署或者控制给定应用的生命周期管理。
[0042]方法500能够作为诸如图4中所描绘的示例之类的系统的一部分被自动地执行。系统能够包括用于存储与计算机相关联的计算机可执行指令的存储器和用于访问存储器并且执行计算机可执行指令的处理单元。这样的指令能够包括存储在存储器中以表征用于部署在云基础设施上的给定应用的应用模型,其中应用模型由应用元数据实例化。在存储器中存储的部署管理器(例如,经由图1的部署管理器120)能够分析给定应用的应用元数据和与给定应用相关联的策略以确定云基础设施中的基础设施资源,其中基础设施资源被规定为资源元数据并且部署管理器自动地使应用元数据与资源元数据相关联以实现应用要求。可移植性管理器能够命令部署管理器修改给定应用在云基础设施上的部署并且基于对策略或应用模型的修改来控制给定应用在云基础设施上的生命周期管理。例如,对策略和/或应用模型的修改能够被部署管理器利用以用于使应用要求与云基础设施资源相匹配。监视器组件监视给定应用的部署并且提供与给定应用相关联的反馈来使可移植性管理器调整应用模型或策略。
[0043]图6图不了用于云应用的自动化部署的不例部署系统600。系统600包括可移植性管理器610以提供可移植性指令620来规定给定应用630在云基础设施上的部署中的改变。部署管理器640响应于可移植性指令620并且基于使云基础设施资源与对于给定应用的应用要求相匹配来控制给定应用630在云基础设施上的部署或生命周期管理(或部署和生命周期管理两者)。
[0044]上面已描述的是示例。当然,不可能描述组件或方法的每个可想象到的组合,但本领域的普通技术人员应认识到,许多另外的组合和排列是可能的。因此,本发明旨在包含落入本申请(包括所附权利要求)的范围内的所有这样的变更、修改以及变化。附加地,在本公开内容或权利要求记载“一”、“一个”、“第一”或“另一”元件或其等同物情况下,它应该被解释成包括一个或一个以上这样的元件,既不要求也不排除两个或更多个这样的元件。如本文中所使用的那样,术语“包括”意指包括但不限于,并且术语“包括有”意指包括有但不限于。术语“基于”意指至少部分地基于。
【权利要求】
1.一种系统,其包括: 可移植性管理器,与可由处理器执行的指令相对应,以提供可移植性指令来规定给定应用在云基础设施上的部署中的改变;以及 部署管理器,与可由处理器执行的指令相对应,以响应于所述可移植性指令并且基于使云基础设施资源与对于所述给定应用的应用要求相匹配来控制所述给定应用在所述云基础设施上的部署或生命周期管理。
2.根据权利要求1所述的系统,其中所述可移植性管理器包括应用编程接口(API)或图形用户接口(GUI)中的至少一个以处理请求来使所述可移植性管理器修改所述可移植性指令并且命令所述部署管理器修改、拷贝或者指令弓I退所述给定应用的所述部署。
3.根据权利要求1所述的系统,其中所述可移植性指令规定待用于所述给定应用的部署或管理的新的一组云资源。
4.根据权利要求1所述的系统,进一步包括至少一个数据库,所述数据库包括识别待修改、拷贝或者指令引退的应用的组件的服务模型储存库。
5.根据权利要求4所述的系统,其中所述服务模型储存库利用API请求或GUI请求来识别待修改、拷贝或者指令引退的所述应用的所述组件。
6.根据权利要求1所述的系统,进一步包括监视器组件以处理事件反馈来触发所述可移植性管理器修改所述可移植性指令。
7.根据权利要求6所述的系统,其中所述可移植性管理器将进一步基于所述事件反馈按比例放大或按比例缩小部署在所述云基础设施中的所述给定应用的工作负荷。
8.根据权利要求7所述的系统,其中所述可移植性管理器将进一步基于所述事件反馈将所述给定应用的新的实例部署在较轻负荷的环境中。
9.根据权利要求1所述的系统,其中所述可移植性管理器和部署管理器跨越一个或多个硬件组件被实现。
10.根据权利要求1所述的系统,其中所述部署管理器和可移植性管理器根据软件即服务(SaaS)模型或作为硬件或软件的虚拟化版本将所述给定应用部署在所述云基础设施上。
11.根据权利要求1所述的系统,其中所述部署管理器将进一步变更与服务提供商的服务级别协定并且将针对所述给定应用相应调整所对应的部署。
12.—种方法,其包括: 由计算机提供描述不同于用于所述云基础设施上的所述给定应用的当前部署的用于云基础设施上的给定应用的执行环境的可移植性指令;以及 由所述计算机基于描述针对所述给定应用的已修改部署的所述可移植性指令来管理所述云基础设施上的所述给定应用从所述当前部署到已修改部署的部署。
13.根据权利要求12所述的方法,进一步包括: 监视来自所述给定应用的反馈;以及 基于所述反馈来变更所述部署或者控制所述给定应用的生命周期管理。
14.一种系统,包括: 存储器,其用于存储与计算机相关联的计算机可执行指令;以及 处理单元,其用于访问所述存储器并且执行所述计算机可执行指令,所述计算机可执行指令包括: 应用模型,其被存储在所述存储器中以表征用于部署在云基础设施上的给定应用,其中所述应用模型由应用元数据来描述; 部署管理器,其被存储在所述存储器中以分析所述给定应用的所述应用元数据和与所述给定应用相关联的策略以确定所述云基础设施中的基础设施资源,其中所述基础设施资源被规定为资源元数据并且所述部署管理器自动地使所述应用元数据与所述资源元数据基本上匹配以实现所述应用要求;以及 可移植性管理器,其用来命令所述部署管理器基于对所述策略或所述应用模型的修改来修改部署并且控制所述给定应用在所述云基础设施上的生命周期管理。
15.根据权利要求14所述的系统,进一步包括监视器组件以监视所述给定应用的所述部署并且提供与所述给定应用相关联的反馈来使所述可移植性管理器调整所述应用模型或所述策略。
【文档编号】G06F9/44GK104254834SQ201280072820
【公开日】2014年12月31日 申请日期:2012年6月8日 优先权日:2012年6月8日
【发明者】S.H.梅斯, R.巴拉赫瓦, T.S.特里普, R.S.舍蒂, J.M.格林 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1