首页 / 专利库 / 电脑编程 / 计算机编程 / 针对云应用的测试和管理

针对应用的测试和管理

阅读:5发布:2024-02-23

专利汇可以提供针对应用的测试和管理专利检索,专利查询,专利分析的服务。并且一种系统(100)包括应用模型(140)以表征用于部署在 云 (130)上的给定应用(110)。部署管理器(120)基于与所述给定应用(110)相关联的所述应用模型(140)和策略(150)来分析对于所述给定应用(110)的应用要求以和在所述云(130)中用来实现所述应用要求的 基础 设施资源(160)基本上匹配。测试管理器(170)被采用来经由所述部署管理器(120)针对所述给定应用(110)来配置和启动应用部署的测试套件。,下面是针对应用的测试和管理专利的具体信息内容。

1.一种系统,其包括:
应用模型,被存储在存储器中,以表征用于部署在上的给定应用;
部署管理器,与可由处理器执行的指令相对应,以基于与所述给定应用相关联的所述应用模型和策略来分析对于所述给定应用的应用要求以和在所述云中用来实现所述应用要求的基础设施资源基本上匹配;以及
测试管理器,与可由所述处理器执行的指令相对应,以经由所述部署管理器针对所述给定应用来配置和启动应用部署的测试套件。
2.根据权利要求1所述的系统,其中所述部署管理器将基于来自所述测试管理器的命令自动地将所述给定应用部署在所述云上。
3.根据权利要求1所述的系统,进一步包括应用编程接口(API)以监视储存库中的应用改变并且经由所述部署管理器来启动应用部署的所述测试套件。
4.根据权利要求1所述的系统,进一步包括用户接口以经由所述部署管理器来配置和启动应用部署的所述测试套件。
5.根据权利要求4所述的系统,其中所述用户接口进一步将命令所述部署管理器将所述给定应用从测试移动到生产。
6.根据权利要求5所述的系统,其中所述用户接口进一步将使得能实现为所述给定应用的所述移动规定目的地位置、为所述给定应用规定能或者为所述给定应用规定服务质量(QoS)中的至少一个的策略改变。
7.根据权利要求4所述的系统,其中所述用户接口提供接口选项以针对开发测试环境、开发安全环境、开发运营环境或质量保障环境中的至少一个来配置应用部署的所述测试套件。
8.根据权利要求4所述的系统,其中所述用户接口包括选择窗格,所述选择窗格包括源代码选择用户接口元件、构建测试选择用户接口元件、版本和部署选择用户接口元件、多平台编排选择用户接口元件以及管理、运行和安全选择用户接口元件。
9.根据权利要求4所述的系统,其中所述用户接口包括资源窗格,所述资源窗格包括用于公用云、专用云、受管理云、虚拟运营以及传统配置的配置功能选项。
10.根据权利要求4所述的系统,其中所述用户接口包括用来对测试组件进行设计、建模和构建的自动化选项卡管理器、用于服务设计、应用建模、工作负荷管理和基础设施设计的服务实现组件、用于配置事件、性能和分析的服务和运营网桥,或用来管理所述云中的所述基础设施资源的故障、性能和配置的基础设施管理组件。
11.一种方法,其包括:
由计算机处理用来对给定应用进行建模的应用元数据;
由所述计算机处理用来描述用于云执行所述给定应用的资源的资源元数据;
由所述计算机配置针对所述给定应用的一套测试;以及
由所述计算机基于使所述应用元数据与所述资源元数据相匹配以便于执行该套测试将所述给定应用部署在所述云中。
12.根据权利要求11所述的方法,进一步包括在改变已随着所述给定应用、经由手动改变或经由调度改变而发生了之后,通过以周期性方式传递新的应用工件并且对所述新的应用运行测试来使改变自动化。
13.根据权利要求11所述的方法,进一步包括在第一环境中使所述给定应用分阶段进行并且将所述给定应用移动到至少一个其他环境。
14.一种系统,包括:
存储器,其用于存储与计算机相关联的计算机可执行指令;以及
处理单元,其用于访问所述存储器并且执行所述计算机可执行指令,所述计算机可执行指令包括:
应用模型,其被存储在所述存储器中以表征用于部署在云上的给定应用,其中所述应用模型由应用元数据来描述;
部署管理器,其被存储在所述存储器中以分析所述给定应用的所述应用元数据和与所述给定应用相关联的策略来确定所述云中的基础设施资源,其中所述基础设施资源被规定为资源元数据并且所述部署管理器自动地使所述应用元数据与所述资源元数据相匹配以实现应用要求;以及
测试管理器,其被存储在所述存储器中以经由所述部署管理器针对所述给定应用在所述云中配置和启动应用部署的测试套件。
15.根据权利要求14所述的系统,进一步包括监视器组件用以根据所述给定应用在所述云中的部署来监视测试条件并且用以为所述给定应用提供与所监视到的测试条件相对应的反馈。

说明书全文

针对应用的测试和管理

背景技术

[0001] 云计算指的是可伸缩的和合并的计算、存储以及联网能作为服务到终端接收者的网络的递送。名称来自云作为网络的复杂基础设施和可在云内操作的关联硬件的抽象的使用。例如,云计算通过网络为用户的数据、软件以及计算提供服务。这样的计算能力依靠资源的共享来通过网络(通常为因特网)实现规模与公用设施(例如电网)类似的相干性和经济。部署在支持云的资源上的应用目前常常不得不被手动地部署并且那消耗相当多的管理时间。部署应用的手动步骤包括基础设施的提供和安装。这需要从应用的安装或映像的部署链接到所部署的基础设施的完备知识。手动部署通常需要由试图部署应用的用户所通常启动的步骤的许多序列。附图说明
[0002] 图1图示了为应用提供自动化测试管理、分阶段进行以及部署的系统的示例。
[0003] 图2图示了用于应用在环境中的自动化测试和部署的测试管理器接口的示例。
[0004] 图3图示了用于应用的自动化部署和监视的示例系统。
[0005] 图4图示了对于应用的部署和监视利用闭环反馈的示例系统。
[0006] 图5图示了用于应用的自动化部署的示例方法的流程图
[0007] 图6图示了用于云应用的自动化部署的示例部署系统。
[0008] 图7图示了使云的资源能力与应用的应用要求相匹配的部署管理器的示例。

具体实施方式

[0009] 图1图示了促进应用的自动化测试管理、分阶段进行以及部署的系统100的示例。系统100能够通过利用部署管理器120来确定云基础设施130(还被称为云130)的基础设施能力并且还通过分析应用模型140和策略150而确定应用110的应用要求来提供应用
110的自动化部署和生命周期管理。尽管示出了云130,但是如本文中所描述的部署、分阶段进行以及测试也能够被应用于非云环境(例如,本地数据库服务器)。在这样的确定之后,部署管理器120能够自动地管理应用110在云130上的生命周期,其中匹配被识别(例如,理想的或尽力而为 - 最接近匹配)。基于匹配接近的量度和/或其他策略要求,匹配被选择并且能够提供/实例化基础设施。
[0010] 在资源与应用要求的这样的匹配(例如,绝对匹配或最接近匹配)之后,然后应用110的组件能够被部署在云130(或非云本地执行环境)上。云130的基础设施能力能够经由与云相关联的资源供应和元数据160被确定。例如,支持云130的多个服务提供商能够提供规定它们让什么类型的资源可用的文件和描述相应资源供应(例如,可用的三个服务器的资源供应,其中元数据规定存储器大小或处理器速度、负荷(如果已经实例化了)、位置、租赁条件、服务级别协定(SLA)、调度维护等等)的感兴趣属性的元数据。
[0011] 测试管理器170被提供来经由部署管理器针对给定应用110来配置和启动应用部署的测试套件。测试管理器170能够为应用110配置与多个不同的操作部署场景相关联的多个测试。能够跨越组织边界管理配置和结果的应用部署以适合各种组织需要。例如,开发可以具有一组需要并且生产可以具有单独的一组需要。在一些情况下,针对应用的公用部署被配置和启动,并且在其他情况下,诸如经由本地测试和储存器180所示出的专用部署被启动。在其他情况下,公用部署和专用部署的组合像由测试管理器170所配置的那样被启动并且经由部署管理器120部署。
[0012] 例如,基于通过使应用模型140和策略150与如由资源供应和元数据160所规定的基础设施模型相匹配来确定最佳匹配基础设施,测试管理器170使得能实现自动化开发测试、针对运营的开发以及应用安全开发。应用模型140能够被规定用于特定部署或测试。例如,当选择哪一个模型以使用时,这能够经由从一组模型中的不同模型进行选择或者经由与策略中所规定的不同模型类型相关联的标签的匹配来实现。然后能够采用匹配基础设施来在还运行各种测试套件的同时并且在测试(和/或在生产阶段监视)的不同阶段处测试或者促进生产分阶段进行。对于开发测试,测试管理器170允许开发者遵循在云130中具有测试的任何软件的开发,其中它们能够在多个部署场景中部署和运行软件并且在没有常见延迟和成本的情况下执行目标测试用例以建立部署和测试。在软件元件(例如,应用组件)的开发和测试之后,它们然后能够在生产中被部署和操作(并且类似地监视)。这还使得能够测试应用110的安全方面,因为安全还能够在安全的开发和生产环境中(诸如在本地测试和储存器180上)测试。漏洞、安全攻破以及其他检测到的事件的反馈能够被容易地监视并且反馈(例如,经由监视器组件和监听器)给开发代理诸如以用于诊断和修复。当在生产中报告了问题时,部署条件和上下文能够随着漏洞/问题报告再现以便开发者(或支持)诊断和校正,这然后能够导致然后能够被分阶段进行和/或测试的测试和补丁/更新。
[0013] 测试管理器170和部署管理器120能够被采用来针对测试套件在由部署管理器120所提供和部署的部署上的配置和启动依照用户接口(UI)(例如,见图2)使测试自动化。
这能够包括提供能够基于监视到编码器储存库中的改变而自动化的自动化应用编程接口(API)以及在由部署管理器120所提供和部署的部署上启动/运行测试套件。部署管理器
120能够被用来从测试向生产移动,这能够由在位置(在生产区中)方面的策略改变和关于容量、延迟、服务质量(QoS)等等的其他生产准则发起。由测试管理器170所支持的其他测试场景能够包括能够通过基础设施的配置的监视和闭环反馈所支持的安全开发、运营开发以及质量保证。针对给定应用的这样的开发测试的结果能够被部署管理器120利用以用于针对给定应用的部署和生命周期管理。应用组件(例如,与它们被开发和存储在储存库中的现有应用集成在一起)的连续集成能够随着它们基于部署管理器120被开发而被支持。还能够基于部署管理器120的自动化动作来支持软件的连续递送。
[0014] 测试管理器170提供用于完全在单个工作流内在应用团队内和跨越应用团队并且贯穿开发应用的完整过程进行管理和自动化的集中式应用管理平台。测试管理器170能够支持负责随着应用通过它们的生命周期进步而递送应用的利益相关者。它集中于从设计至准备就绪以用于递送给运营的核心生命周期。这能够包括要求管理、测试规划与功能测试、性能测试、开发者管理以及缺陷管理。这样的应用生命周期活动能够从工作流观点与公共管理控制台、项目跟踪和规划的层连接在一起,并且在包含具有支持的软件开发工具包(SDK)的一致储存库和开放式集成架构的公用软件基础上构建。
[0015] 如将在下面关于图2所描述的那样,测试管理器170能够被编程为支持各种功能。这能够包括诸如具有用于加速安全且可靠的应用的递送的统一软件平台的应用生命周期管理(ALM)之类的示例功能。这包括为开发者、测试者以及商业分析递送应用之间的协作提供框架的开发管理功能。测试管理器170还能够使得能够针对相应的应用定义、管理并且跟踪软件要求。例如,这能够包括提供可重复的、可伸缩的、可自动化的功能以管理技术策略和可重用服务。经由接口组件支持合成应用以跨越生命周期管理高质量、可靠的且安全的合成应用。应用生命周期管理包括对于软件即服务(SaaS)的支持。对于应用和部署还支持质量管理功能。这包括性能验证,其中一组功能被提供来在基于项目的场景以及其他开发模式下测试应用性能。模化测试工具也被提供用于为应用迅速地开发自动化功能测试套件。
[0016] 使用测试管理器170,规定的应用要求指导应用的开发。应用开发者和所规定的要求能够被存储在存储器中以指导测试用例和测试套件的建立。例如,能够在配置、部署以及使用场景方面定义这些。不同的测试用例和场景能够作为应用模型140和策略150被捕获。代表性部署能够作为基础设施模板被捕获。能够一键完成(例如,经由指向模板、模型、策略、工件并且执行代码的web站点)在目标配置中自动地运行测试套件。周期性地或在改变已随着应用或经由手动改变或调度改变而发生了之后,这样的改变能够经由测试管理器170(诸如调用API来传递新的工件并且运行测试)而自动化。安全测试还可以在开发的各种步骤处测试或者使得能实现安全挑战。能够通过改变策略以随着选择的或确定的部署迁移到生产环境来使得能实现开发运营。
[0017] 当已基于匹配部署了应用之后,部署管理器120进一步能够管理应用的生命周期的其他方面。例如,部署管理器120能够监视反馈,并且基于这样的反馈来调整基础设施资源。附加地或可替换地,部署管理器120能够基于这样的反馈或其他检测到的事件动态地调整应用模型和对应的策略。类似地,这还能够包括指令引退应用组件(例如,代码、中间件(MW)、数据库、操作系统(OS)等等)的较旧的版本并且安装组件的新的版本以使得能实现应用在云基础设施130中的继续部署。
[0018] 云130可以是混合的以便使得它可以是传统数据中心的组合,所述传统数据中心被做出成表现得像基础设施资源、专用云(在内部开发的云技术)、公用云(由服务提供商提供)以及受管理云配置(在内部或在公用云/虚拟专用云中管理)。如本文中所使用的那样,术语应用适用于组件的合集。此外,应用能够针对其组件中的每一个由一组工件(例如,安装程序、可执行文件、配置等等)和被安装并且与彼此交互的一组组件(例如,代码、中间件(MW)、数据库、操作系统(OS)等等)来表征。并且,如本文中所使用的那样,术语确定能够包括编译、枚举以及匹配。
[0019] 如本文中所使用的那样,术语“基本上”旨在指示虽然正被修改的术语的功能或结果是期望的或计划中的结果但是一些变化能够产生。在这个上下文中,例如,术语“基本上匹配”或其变体描述了结果得到的分析和比较被执行以识别为相同的资源的情形;然而,在实践中匹配能够对应于充分地类似于使得能实现部署(上面识别为绝对匹配或尽力而为匹配)的一组资源。在一个以上这样的一组资源可能对应于匹配情况下,部署管理器能够选择最佳匹配的一组可用资源。能够利用用于选择这样的匹配的其他方法。
[0020] 应用模型140能够被采用来诸如通过用于应用的各种组件的元数据描述来表征用于部署在云基础设施130上的给定应用110。部署管理器120能够经由可由处理器执行的指令或可由处理器读取的数据来实现以基于与给定应用相关联的应用模型140和策略150(或诸策略)来分析对于给定应用110的应用要求。如将在下面所描述的那样,策略150能够被提供来描述应用110的附加的操作上下文(例如,在午夜之后操作应用、使用仅东海岸服务器、维护服务器之间的负荷均衡、部署在给定网络域内、确保负荷在服务器上的规定限制之间、确保在给定窗口内不存在即将到来的维护等等以及匹配的“测量接近”的技术)。
部署管理器120然后能够确定在云基础设施中足以实现如由模型140和策略150所规定的应用110的应用要求的基础设施资源。
[0021] 在一个示例中,部署管理器120能够在使应用110的应用要求与如由资源供应和元数据160所规定的云的能力相匹配之后自动地将给定应用110部署在云基础设施130上。在这种示例中,它通常相当于(可能通过调用管理基础设施的和/或应用的生命周期的外部系统)执行在下面所描述的其他以下示例的指令。如本文中所使用的那样,术语“应用”(例如,包括应用110)能够包括将被安装和执行的一组组件。这样的组件的示例包括除用来安装和配置或卸载这样的组件的代码之外的多个分层逻辑、用户接口(UI)、中间件(MW)、数据库(DB)、操作系统(OS)。因此,应用110指的是还能够包括这样的组件和工件的储存库的组件和工件的这些集合。应用110还能够由包括单独的指针或一组组件的指针的组件和工件的指针来识别。在另一示例中,部署管理器120能够生成关于如何将给定应用110部署在云基础设施130上而通知系统(或用户)的指令。在任何一个示例中,部署管理器120能够自动地使如由模型140和策略150所规定的应用110的要求与如由资源供应和元数据160所规定的云130的能力相匹配。
[0022] 与常规系统的手动过程相反系统100利用策略和模型驱动方法来使部署自动化。系统100能够基于表征它们在基础设施属性方面的要求的模型140和策略150来动态地(或静态地)优化基础设施资源(由元数据属性来表征)并且将基础设施资源绑定到应用
110。这能够包括使应用元数据与资源元数据相匹配以及考虑策略和上下文使应用和它们的组件/依赖性在云130上的优化的或优选的/标记的部署自动化而同样无需手动部署步骤。在一个示例中,系统100允许实例的跟踪同时还支持这样的实例的自动化管理(例如,在下面所描述的自动化监视和反馈)。不同的技术被提供来吸入、创造和设计还能够描述基础设施模板、应用模型以及策略的元数据。这样的实例能够连同应用110、应用模型140以及策略150一起存储在数据库或储存库(未示出)中。
[0023] 系统100能够对于监视应用采用闭合反馈回路(见图4)。这样的监视应用能够被利用来例如按比例放大或者按比例缩小应用执行要求,以及利用来通知适当的接收者,诸如用户或其他系统应用。在一个示例中,监听器能够被安装在各种组件中以从监视捕获事件。由监听器所接收到的事件能够触发处理机,所述处理机能够在系统100上生成生命周期管理操作。一些生命周期管理操作的示例包括按比例放大、按比例缩小、移动、取消提供、向用户或系统报警,并且运行另一可执行文件,其可以牵涉本文中所描述的系统和其他应用的合成。
[0024] 能够在一个硬件平台上或跨越多个硬件平台实现系统100,其中能够在一个平台上或跨越多个平台执行系统中的模块。这样的模块能够在云技术(各种形式/和混合云)上运行或者作为能够被实现在云上或云之外的SaaS(软件即服务)提供。能够在需要的基础设施资源上自动地部署复杂应用,而同样无需用户理解如何执行这样的操作。策略150为帮助管理员减轻部署错误的操作指导方针提供自动化指令。元数据还能够通过识别应用的类型(例如,经由UI或API)与应用相关联,然后用户不必理解应用特性。这个方法对于应用基于它们与元数据的关联而允许“最佳实践”、推荐的或以强加的部署模型。
[0025] 策略同样允许使应用特性与其他上下文考虑事项(例如,关于用户、关于应用、关于基础设施、关于上下文、关于该特定用户、关于特定应用等等)分离。这促进应用模型跨越许多应用的再使用。还能够经由策略实现特殊化(例如,为一个应用与另一应用的关系规定特定的一组策略)。这还是例如系统如何强制实行特定的一组特性值对于给定应用或版本来说为固定的。例如,系统能够对于web应用应用通用应用模型,然而在另一情况下,为模型的属性显式地规定不同的模型或特定值。还能够从混合云提供资源(例如,一些资源从本地数据库或服务器提供而一些资源从因特网服务提供)。
[0026] 出于说明的简单目的,在图1的示例中,系统100的不同的组件被图示和描述为执行不同的功能。然而,本领域的普通技术人员应理解和了解,所描述的组件的功能能够由不同的组件执行,并且能够在单一组件上组合和执行数个组件的功能性。组件能够被例如实现为计算机可执行指令、硬件(例如,专用集成电路或处理单元),或者实现为两者的组合。在其他示例中,组件能够跨越网络分布在远程设备之中。在一个示例中,能够定义拓扑,其中应用模板能够包括应该部署哪些组件(例如,什么组件要被部署在哪一个位置处)的拓扑模型。在另一示例中,部署管理器120能够提供有拓扑模型并且然后确定和它匹配的最好的基础设施资源。在又一个示例中,在资源的提供和应用组件的部署之后,能够创建拓扑实例。如本文中所公开的那样,拓扑实例能够被存储和用于以后的管理、监视。
[0027] 图2图示了用于应用在云环境中的自动化测试和部署的测试管理器接口200(还被称为接口200)的示例。接口200包括选择窗格210,所述选择窗格210使得能实现源代码修改和设计、测试套件的构建和启动、释放和部署选项、多平台编排(例如,在应用组件之间使事件同步)以及管理、运行并且使应用环境安全。例如,如本文中所描述的这样的选择窗格还能够经由应用编程接口(API)而暴露于其他应用。服务和支持选项214包括服务治理(例如,金融协定、容量、厂商信息等等)。服务和支持选项214中的服务市场选项包括服务商店、产品商店、对实现、使用数据以及拒付信息的目录请求。选项214中的支持中枢能够包括用例交换和应用管理细节。选项214还能够包括协作式用例管理,诸如针对应用的事故、问题、缺陷、要求、改变以及释放数据的报告和跟踪。信息数据库220能够存储/交换到/来自本文中关于接口200所描述的组件中的每一个的数据。
[0028] 应用生命周期管理器224能够包括用于对包括合成或混合应用的应用进行设计、建模、构建和测试的选项。服务实现组件230使得能实现服务设计合成和实现、应用建模、部署和工作负荷管理,以及基础设施设计和实现。应用性能模块(APM)使得能实现所部署的应用的性能测试、分析以及分级。服务操作和桥接组件240使得能实现事件处理、监视、分析和报告以及与实时服务模型(RTSM)储存库的交互。基础设施管理组件250提供了用于定义/搜索系统组件、网络组件以及存储组件的选项。这包括用于处理/分析故障、分析应用、网络和/或系统性能并且提供用于配置选项的各种配置接口的选项。资源窗格260包括用于规定应用如何将被部署的选项,包括用于部署在公用云、受管理云、专用云、虚拟运营以及传统部署上(例如,根据标准部署场景)的选项。
[0029] 接口200和本文中所描述的关联的测试管理器(例如,图1的测试管理器170)使得开发测试者和安全开发者能够对于测试用应用和关联的测试套件的部署具有全自动化。这包括基于模型的自动化,其进一步促进并且加速开发过程。接口200促进待以此采用的模型和配置的创建。这能够包括混合递送模型,其中测试可以在专用云、公用云上,或者测试可以部分地在专用云和公用云上(例如,在测试容量需要(例如,以用于负荷测试)时的突发)。测试能够被从专用云自动地移动到公用云并且能够自动相反地移动。
[0030] 同样给运营开发者提供了用于应用从开发和测试到生产的部署的全自动化。这包括生命周期管理在运营下的全自动化。基于模型的自动化使得能够构建和再使用从类似的应用创建和/或在开发与测试时使用的模型。这同样包括包括有公用和/或专用云部署的混合递送模型的测试以及如先前所描述的测试。这能够包括监视源储存库以检测改变并且以自动地启动测试。这也还能够包括用于周期性手动的和调度的测试的选项。
[0031] 图3图示了用于应用的自动化部署和监视的示例系统300。系统300包括用于应用的自动化部署的执行引擎310。这样的引擎还能够包括用于与服务提供商建立服务级别协定的提供管理器并且能够包括上面所描述的部署管理器。事件处理器和调度器314能够被用于处理应用事件并且对与应用相关联的任务进行调度。如本文中所公开的那样,能够定义和安装监听器/处理机以用于监视事件。这能够包括对提供/部署和后续生命周期管理运营进行调度(例如,今夜或部署持续接下来2个星期)。配置监视器320和规则引擎能够被用于配置从应用提供反馈的监视器组件324并且用于应用用于执行该应用的规则和策略。例如,系统300包括能够包括应用模型、基础设施模型以及工件指针的模型数据库330。
[0032] 实例数据库334能够被采用来存储应用的实现的目标实例。应用用户接口340能够被采用来设计应用并且配置用于操作该应用的元数据,然而基础设施用户接口244能够被采用来规定用于将应用部署在云中的基础设施要求。例如,部署组件350能够包括诸如可以经由部署秘诀(recipe)所规定的部署应用编程接口(API)和指令。一个或多个调出(call-out)354能够为给定应用规定定制的操作指令。提供组件360能够包括用于与各种云基础设施组件交互的提供API和插件
[0033] 系统300能够作为设计者工具被利用来构建/部署基础设施和应用模板。它同样允许应用开发者、测试者或其他管理员或设计者构建应用模型。类似地,它们能够为应用的执行和部署设计策略和规则。基础设施和应用数据中的一些或全部能够被吸入到分别作为数据库330和340所示出的储存库中。可替换地,这样的基础设施或应用数据能够经由API来传递。应用工件(代码、可执行文件、安装包等等)能够经由数据库或API被同样吸入或参考。例如,API或入口用户接口340和344能够被用来联合或者上传请求以在还规定要使用的应用模板和策略的同时进行匹配和部署。这样的API和用户接口能够作为设计者工具的一部分被实现来定义元数据并且使元数据与基础设施相关联(例如,经由基础设施模板和拓扑)。
[0034] 能够提供代理和监视工具的准备和建立以便使得应用能够发现实例(其已被仪表化并且如果需要具有代理)。这能够在将应用及其关联的组件绑定到基础设施资源之后经由利用来部署基础设施和应用元件的指令/秘诀来实现。事件/报告允许闭合反馈回路,所述闭合反馈回路能够被用来如果策略允许则针对将来的改变(基于策略)按比例放大/按比例缩小或者更新上下文/策略以及通知适当的方或系统(见图4和下面的描述)。如上面所指出的那样,云和资源池可以是其中一些资源被在本地服务而一些被远程地服务的混合实体。对于能够支持保证/监视事件的自动定标、工作负荷管理以及处理的云或硬件资源,应用可以是自我管理的。这样的自我管理例如利用反馈来确定性能,变更应用要求,并且视情况而定生成警报。
[0035] 图4图示了对于应用在云基础设施中的部署和管理利用闭环反馈的示例系统400。系统400包括执行来自存储器414的指令的处理单元410(或处理器),所述存储器
414包括用于存储与计算机相关联的计算机可执行指令的固件或其他存储介质。处理单元
410和存储器420能够作为部署工具420的一部分被提供,所述部署工具420经由部署管理器450将应用430部署在云基础设施440上。如所示,反馈460从所部署的应用430被接收并且由监视器组件470处理。这样的反馈460可以是来自所部署的应用430的指示应用如何在执行的状态或事件。在一个示例中,反馈460能够被采用来调整所部署的应用430的操作参数,其已根据先前确定的应用要求被设置。例如,可以调整前台任务以便使得任务在与目前正在执行的不同数目的微秒期间操作。这能够包括按比例放大或缩小所部署的应用430的操作要求。在另一示例中,反馈460可以被采用来调整云基础设施440的操作基础设施。例如,服务级别协定可以与云基础设施服务提供商自动地重新协商以增加或者减少可用资源以适当地满足所部署的应用430的操作需要。
[0036] 计算机480能够操作一个或多个接口484以对应用模型490进行编程并且存储在数据库494中。计算机还能够与部署工具420交互以变更部署并且促进应用的生命周期管理。接口484还能够配置基础设施模板,变更操作要求,配置监视器组件470,并且与在系统400内所生成的事件和警报交互。如先前所指出的那样,连同在云上执行一起,所部署的应用430能够跨越不相关云传播或者作为混合应用的一部分被提供。例如,能够部分地在云基础设施440上和部分地在作为与云不同的实体(例如,本地服务器数据库对网络数据库)的数据库494上执行所部署的应用430。
[0037] 鉴于上面所描述的前面的结构和功能特征,将参考图5更好地了解示例方法。虽然出于说明的简单目的,图5的示例方法被示出和描述为串行地执行,但是应当理解和了解的是,本示例不受所图示的次序限制,因为一些动作在其他示例中能够以不同的次序和/或同时根据本文中所示出和描述的次序发生。而且,不必要执行所有描述的动作来实现方法。图5的示例方法能够被实现为能够被存储在非暂时性计算机可读介质中的机器可读指令,所述非暂时性计算机可读介质诸如可以是计算机程序产品或其他形式的存储器储存器。与图5的方法相对应的计算机可读指令还能够从存储器存取并且由处理器(例如,图4的处理单元410)执行。
[0038] 图5图示了用于应用的自动化部署的示例方法500。在510处,方法500包括处理对给定应用进行建模的应用元数据(例如,经由图1的部署管理器120)。方法500包括在520处处理描述用于云执行给定应用的资源的资源元数据。在530处,方法500针对给定应用配置一套测试(例如,经由图1的测试管理器170)。在540处,方法500包括基于使应用元数据与资源元数据相匹配以便于执行该套测试来将给定应用部署在云中。方法500还能够包括自动地将给定应用部署在公用云或专用云中的至少一个上。方法500还能够包括监视针对储存库中的给定应用的改变并且基于改变的检测自动地启动一套测试。方法500还能够包括在改变已随着给定应用、经由手动改变或经由调度改变而发生了之后,通过传递新的应用工件并且以周期性方式在新的应用工件上运行测试来使改变自动化。该方法还包括在第一环境中使给定应用分阶段进行并且将给定应用移动到至少一个其他环境。
[0039] 方法500能够作为诸如图1或4中所描绘的示例之类的系统的一部分被自动地执行。系统能够包括用于存储与计算机相关联的计算机可执行指令的存储器和用于访问存储器、执行计算机可执行指令并且从而执行方法500的处理单元。计算机可执行指令能够包括存储在存储器中以表征用于部署在云基础设施上的给定应用的应用模型,其中该应用模型能够由应用元数据来描述。在存储器中存储的部署管理器能够分析给定应用的应用元数据和与给定应用相关联的策略以确定云基础设施中的基础设施资源。基础设施资源能够被规定为资源元数据。部署管理器能够自动地使应用元数据与资源元数据基本上匹配(例如,识别最接近匹配)以实现应用要求。测试管理器能够被存储在存储器中以经由部署管理器针对给定应用在云中配置和启动应用部署的测试套件。监视器组件能够根据给定应用在云中的部署来监视测试条件并且以为给定应用提供与所监视到的测试条件相对应的反馈。
[0040] 图6图示了用于云应用的自动化部署的示例部署系统600。系统600包括应用模型610以表征用于部署在诸如上面关于图1所示出的云基础设施上的给定应用620。部署管理器630基于与给定应用相关联的应用模型610和策略640来分析对于给定应用620的应用要求以确定在云基础设施中用来实现该应用要求的基础设施资源。测试管理器650能够经由部署管理器针对给定应用来配置和启动应用部署的测试套件。
[0041] 图7图示了用于使云730的资源能力720与应用的应用要求740相匹配的部署管理器710的示例。资源能力720能够包括资源供应750,所述资源供应750可以来自由支持云730的多个资源提供商所提供的资源供应的池。例如,这样的资源供应能够包括云服务(例如,可经由对应的应用程序接口(API)访问)、能够激活并且提供这样的服务的现有系统、或现有外部合成物(具有功能调用的参数化工作流/合成脚本)中的一个或多个。资源供应750能够由资源提供商编译/从资源提供商吸入。资源能力720同样包括与表征资源的感兴趣属性的每个资源供应相关联的资源元数据760。例如,这样的元数据760能够规定除其他规格、容量、SLA、调度维护、工作负荷(如果已经在部分使用中)外的位置/拓扑(例如,针对合成资源)、硬件、CPU、存储器、所包括或支持的操作系统、其他软件方面以及标签。
[0042] 资源元数据760能够与由资源设计或吸入过程所设计或添加到资源池的任何资源相关联。描述应用模型和资源供应的元数据能够经由设计者(例如,工具、入口UI或API)来捕获以描述元数据。包括秘诀(例如,与用于诸如取消部署和监视之类的部署和其他生命周期管理功能的指令相对应)的元数据能够构成资源模板。由元数据所规定的资源元数据760和所关联的资源供应750能够作为能够被其他应用利用的模板(例如,元数据和供应的数据文件)的一部分被提供。
[0043] 给定应用的应用要求740能够经由能够在应用设计时或在应用设计之后定义的应用元数据770规定。这能够包括待个别地部署的组件(例如,多个层中的多个应用)。应用元数据770还能够规定关于资源的要求/偏好。这能够包括作为工作流或过程(异步的或同步的)的通用部署脚本。部署脚步能够进一步包括用于每个组件的部署指令(例如,用来在分配的资源上运行的脚本、服务的指令等等)。这能够包括用来部署代理或者为监视和/或管理做好准备的关联指令。能够跨越组件应用指令。一般而言,应用元数据770能够表示上面关于图1所描述的应用模型。给定应用模型能够被存储在存储器中并且由多个应用利用来促进其部署。如先前所指出的那样,应用能够包括提供有被部署脚本利用的应用的多个合作组件和工件(例如,源或可执行的和可安装的)。
[0044] 如所示,能够提供适用于应用/基础设施并且参考用于操作应用的上下文的附加的策略780。例如,策略可以规定应用的位置(例如,仅在东海岸服务器上操作)、时间(例如,在午夜之后并且在上午6点之前操作)、处理要求(例如,所规定的处理速度和存储器需要)和/或负荷均衡要求(例如,无服务器将在超过50%负荷情况下操作)、SLA、可用性要求(例如,在接下来x天内无调度的维护等)、安全(例如,特定网络域或安全域)。
[0045] 应用能够由部署管理器710通过检索所关联的元数据770并且基于最佳匹配(如果例如由策略强加则可以是确切标记)和资源池中可用的资源供应750匹配来部署。资源元数据760与应用元数据770的匹配可以是根据严格规格的(例如,处理器必须在1 GHZ下操作)或者能够根据阈值规格(例如,在500 MHZ之上操作的任何处理器都是可接受的)被匹配。因此,匹配在该匹配是最佳拟合或接近于所期望的匹配准则情况下可以是绝对匹配或者可以是基本匹配。秘诀能够由部署管理器710处理并且指的是用于应用部署的代码/工件。例如,这样的秘诀能够经由已知储存库位置变得可用或者经由秘诀的指针来参考。例如,对应于应用的合成资源的拓扑能够被部署管理器710保存为新的资源类型以用于在类似的应用元数据被另一应用使用时再使用。相同的应用或类似的应用的多个版本能够再使用相同的应用元数据,但是,例如,采用不同的策略来涉及操作上下文。
[0046] 上面已描述的是示例。当然,不可能描述组件或方法的每个可想象到的组合,但是本领域的普通技术人员应认识到,许多另外的组合和排列是可能的。因此,本发明旨在包含落入本申请(包括所附权利要求)的范围内的所有这样的变更、修改以及变化。附加地,在本公开内容或权利要求记载“一”、“一个”、“第一”或“另一”元件或其等同物情况下,它应该被解释成包括一个或一个以上这样的元件,既不要求也不排除两个或更多个这样的元件。如本文中所使用的那样,术语“包括”意指包括但不限于,并且术语“包括有”意指包括有但不限于。术语“基于”意指至少部分地基于。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈