CN104246740A - Test and management for cloud applications - Google Patents

Test and management for cloud applications Download PDF

Info

Publication number
CN104246740A
CN104246740A CN201280072843.1A CN201280072843A CN104246740A CN 104246740 A CN104246740 A CN 104246740A CN 201280072843 A CN201280072843 A CN 201280072843A CN 104246740 A CN104246740 A CN 104246740A
Authority
CN
China
Prior art keywords
application
deployment
cloud
test
given application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201280072843.1A
Other languages
Chinese (zh)
Inventor
S.H.梅斯
R.巴拉赫瓦
T.S.特里普
V.S.桑哈瓦拉姆
A.齐尔伯斯坦
D.滕勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104246740A publication Critical patent/CN104246740A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

一种系统(100)包括应用模型(140)以表征用于部署在云(130)上的给定应用(110)。部署管理器(120)基于与所述给定应用(110)相关联的所述应用模型(140)和策略(150)来分析对于所述给定应用(110)的应用要求以和在所述云(130)中用来实现所述应用要求的基础设施资源(160)基本上匹配。测试管理器(170)被采用来经由所述部署管理器(120)针对所述给定应用(110)来配置和启动应用部署的测试套件。

A system (100) includes an application model (140) to characterize a given application (110) for deployment on a cloud (130). The deployment manager (120) analyzes application requirements for the given application (110) based on the application model (140) and policies (150) associated with the given application (110) and in the The infrastructure resources (160) in the cloud (130) used to implement the application requirements are substantially matched. A test manager (170) is employed to configure and start a test suite for application deployment via said deployment manager (120) for said given application (110).

Description

针对云应用的测试和管理Testing and Management for Cloud Applications

背景技术 Background technique

云计算指的是可伸缩的和合并的计算、存储以及联网能力作为服务到终端接收者的网络的递送。名称来自云作为网络的复杂基础设施和可在云内操作的关联硬件的抽象的使用。例如,云计算通过网络为用户的数据、软件以及计算提供服务。这样的计算能力依靠资源的共享来通过网络(通常为因特网)实现规模与公用设施(例如电网)类似的相干性和经济。部署在支持云的资源上的应用目前常常不得不被手动地部署并且那消耗相当多的管理时间。部署应用的手动步骤包括基础设施的提供和安装。这需要从应用的安装或映像的部署链接到所部署的基础设施的完备知识。手动部署通常需要由试图部署应用的用户所通常启动的步骤的许多序列。 Cloud computing refers to the delivery of scalable and combined computing, storage, and networking capabilities as a service to a network of end recipients. The name comes from the use of the cloud as an abstraction of the complex infrastructure of the network and associated hardware that can operate within the cloud. For example, cloud computing provides services for users' data, software and computing through the network. Such computing power relies on the sharing of resources to achieve coherence and economies of scale over a network (usually the Internet) similar to that of a utility (such as the electric grid). Applications deployed on cloud-enabled resources currently often have to be deployed manually and that consumes considerable management time. The manual steps of deploying an application include infrastructure provisioning and installation. This requires a sound knowledge link from the installation of the application or the deployment of the image to the deployed infrastructure. Manual deployment typically requires many sequences of steps typically initiated by the user attempting to deploy the application.

附图说明 Description of drawings

图1图示了为应用提供自动化测试管理、分阶段进行以及部署的系统的示例。 Figure 1 illustrates an example of a system that provides automated test management, staging, and deployment for applications.

图2图示了用于应用在环境中的自动化测试和部署的测试管理器接口的示例。 Figure 2 illustrates an example of a test manager interface for automated testing and deployment of applications in an environment.

图3图示了用于应用的自动化部署和监视的示例系统。 3 illustrates an example system for automated deployment and monitoring of applications.

图4图示了对于应用的部署和监视利用闭环反馈的示例系统。 4 illustrates an example system that utilizes closed-loop feedback for deployment and monitoring of applications.

图5图示了用于应用的自动化部署的示例方法的流程图。 5 illustrates a flowchart of an example method for automated deployment of applications.

图6图示了用于云应用的自动化部署的示例部署系统。 6 illustrates an example deployment system for automated deployment of cloud applications.

图7图示了使云的资源能力与应用的应用要求相匹配的部署管理器的示例。 Figure 7 illustrates an example of a deployment manager that matches the resource capabilities of the cloud with the application requirements of the application.

具体实施方式 Detailed ways

图1图示了促进应用的自动化测试管理、分阶段进行以及部署的系统100的示例。系统100能够通过利用部署管理器120来确定云基础设施130(还被称为云130)的基础设施能力并且还通过分析应用模型140和策略150而确定应用110的应用要求来提供应用110的自动化部署和生命周期管理。尽管示出了云130,但是如本文中所描述的部署、分阶段进行以及测试也能够被应用于非云环境(例如,本地数据库和服务器)。在这样的确定之后,部署管理器120能够自动地管理应用110在云130上的生命周期,其中匹配被识别(例如,理想的或尽力而为 - 最接近匹配)。基于匹配接近的量度和/或其他策略要求,匹配被选择并且能够提供/实例化基础设施。 FIG. 1 illustrates an example of a system 100 that facilitates automated test management, staging, and deployment of applications. System 100 can provide automation of application 110 by utilizing deployment manager 120 to determine the infrastructure capabilities of cloud infrastructure 130 (also referred to as cloud 130 ) and also by analyzing application model 140 and policies 150 to determine application requirements for application 110 Deployment and lifecycle management. Although a cloud 130 is shown, deployment, staging, and testing as described herein can also be applied to non-cloud environments (eg, local databases and servers). After such a determination, deployment manager 120 can automatically manage the lifecycle of application 110 on cloud 130 where a match is identified (eg, ideal or best effort - closest match). Based on a measure of match proximity and/or other policy requirements, matches are selected and infrastructure can be provisioned/instantiated.

在资源与应用要求的这样的匹配(例如,绝对匹配或最接近匹配)之后,然后应用110的组件能够被部署在云130(或非云本地执行环境)上。云130的基础设施能力能够经由与云相关联的资源供应和元数据160被确定。例如,支持云130的多个服务提供商能够提供规定它们让什么类型的资源可用的文件和描述相应资源供应(例如,可用的三个服务器的资源供应,其中元数据规定存储器大小或处理器速度、负荷(如果已经实例化了)、位置、租赁条件、服务级别协定(SLA)、调度维护等等)的感兴趣属性的元数据。 After such matching (eg, an absolute match or closest match) of resources to application requirements, components of the application 110 can then be deployed on the cloud 130 (or non-cloud-native execution environment). The infrastructure capabilities of the cloud 130 can be determined via resource offerings and metadata 160 associated with the cloud. For example, multiple service providers supporting cloud 130 can provide files specifying what types of resources they make available and describe corresponding resource offerings (e.g., resource offerings for three servers available, where metadata specifies memory size or processor speed , load (if instantiated), location, lease conditions, service level agreements (SLAs), scheduled maintenance, etc.).

测试管理器170被提供来经由部署管理器针对给定应用110来配置和启动应用部署的测试套件。测试管理器170能够为应用110配置与多个不同的操作部署场景相关联的多个测试。能够跨越组织边界管理配置和结果的应用部署以适合各种组织需要。例如,开发可以具有一组需要并且生产可以具有单独的一组需要。在一些情况下,针对应用的公用部署被配置和启动,并且在其他情况下,诸如经由本地测试和储存器180所示出的专用部署被启动。在其他情况下,公用部署和专用部署的组合像由测试管理器170所配置的那样被启动并且经由部署管理器120部署。 A test manager 170 is provided to configure and launch test suites for application deployment for a given application 110 via the deployment manager. Test manager 170 is capable of configuring application 110 with a number of tests associated with a number of different operational deployment scenarios. Ability to manage configurations and resulting application deployment across organizational boundaries to suit various organizational needs. For example, development can have one set of requirements and production can have a separate set of requirements. In some cases, a public deployment for the application is configured and launched, and in other cases a private deployment is launched, such as shown via local testing and storage 180 . In other cases, a combination of public and private deployments is started and deployed via deployment manager 120 as configured by test manager 170 .

例如,基于通过使应用模型140和策略150与如由资源供应和元数据160所规定的基础设施模型相匹配来确定最佳匹配基础设施,测试管理器170使得能实现自动化开发测试、针对运营的开发以及应用安全开发。应用模型140能够被规定用于特定部署或测试。例如,当选择哪一个模型以使用时,这能够经由从一组模型中的不同模型进行选择或者经由与策略中所规定的不同模型类型相关联的标签的匹配来实现。然后能够采用匹配基础设施来在还运行各种测试套件的同时并且在测试(和/或在生产阶段监视)的不同阶段处测试或者促进生产分阶段进行。对于开发测试,测试管理器170允许开发者遵循在云130中具有测试的任何软件的开发,其中它们能够在多个部署场景中部署和运行软件并且在没有常见延迟和成本的情况下执行目标测试用例以建立部署和测试。在软件元件(例如,应用组件)的开发和测试之后,它们然后能够在生产中被部署和操作(并且类似地监视)。这还使得能够测试应用110的安全方面,因为安全还能够在安全的开发和生产环境中(诸如在本地测试和储存器180上)测试。漏洞、安全攻破以及其他检测到的事件的反馈能够被容易地监视并且反馈(例如,经由监视器组件和监听器)给开发代理诸如以用于诊断和修复。当在生产中报告了问题时,部署条件和上下文能够随着漏洞/问题报告再现以便开发者(或支持)诊断和校正,这然后能够导致然后能够被分阶段进行和/或测试的测试和补丁/更新。 For example, test manager 170 enables automated development testing, operationally-oriented development and application security development. Application models 140 can be specified for specific deployments or tests. For example, when selecting which model to use, this can be achieved via selection from a different model in a set of models or via matching of tags associated with different model types as specified in the policy. A matching infrastructure can then be employed to test or facilitate production staging while also running various test suites and at different stages of testing (and/or monitoring in production). For development testing, the test manager 170 allows developers to follow the development of any software that has tests in the cloud 130, where they can deploy and run the software in multiple deployment scenarios and perform targeted testing without the usual delays and costs Use cases to build deployment and testing. After development and testing of software elements (eg, application components), they can then be deployed and operated (and similarly monitored) in production. This also enables testing of the security aspects of the application 110, as security can also be tested in a secure development and production environment, such as on local test and storage 180 . Feedback of vulnerabilities, security breaches, and other detected events can be easily monitored and fed back (eg, via monitor components and listeners) to development agents such as for diagnosis and remediation. When a problem is reported in production, the deployment conditions and context can be reproduced along with the bug/problem report for developer (or support) diagnosis and correction, which can then lead to tests and patches that can then be staged and/or tested /renew.

测试管理器170和部署管理器120能够被采用来针对测试套件在由部署管理器120所提供和部署的部署上的配置和启动依照用户接口(UI)(例如,见图2)使测试自动化。这能够包括提供能够基于监视到编码器储存库中的改变而自动化的自动化应用编程接口(API)以及在由部署管理器120所提供和部署的部署上启动/运行测试套件。部署管理器120能够被用来从测试向生产移动,这能够由在位置(在生产区中)方面的策略改变和关于容量、延迟、服务质量(QoS)等等的其他生产准则发起。由测试管理器170所支持的其他测试场景能够包括能够通过基础设施的配置的监视和闭环反馈所支持的安全开发、运营开发以及质量保证。针对给定应用的这样的开发测试的结果能够被部署管理器120利用以用于针对给定应用的部署和生命周期管理。应用组件(例如,与它们被开发和存储在储存库中的现有应用集成在一起)的连续集成能够随着它们基于部署管理器120被开发而被支持。还能够基于部署管理器120的自动化动作来支持软件的连续递送。 Test manager 170 and deployment manager 120 can be employed to automate testing in accordance with a user interface (UI) (eg, see FIG. 2 ) for configuration and launch of test suites on deployments provided and deployed by deployment manager 120 . This can include providing an automation application programming interface (API) that can be automated based on monitoring changes into the coder repository and launching/running test suites on deployments provisioned and deployed by the deployment manager 120 . The deployment manager 120 can be used to move from test to production, which can be initiated by policy changes in location (in the production zone) and other production criteria regarding capacity, latency, quality of service (QoS), and the like. Other testing scenarios supported by the test manager 170 can include security development, operational development, and quality assurance that can be supported through monitoring and closed-loop feedback of the configuration of the infrastructure. The results of such development testing for a given application can be utilized by the deployment manager 120 for deployment and lifecycle management for the given application. Continuous integration of application components (eg, integrated with existing applications they are developed and stored in the repository) can be supported as they are developed based on the deployment manager 120 . Continuous delivery of software based on automated actions of the deployment manager 120 can also be supported.

测试管理器170提供用于完全在单个工作流内在应用团队内和跨越应用团队并且贯穿开发应用的完整过程进行管理和自动化的集中式应用管理平台。测试管理器170能够支持负责随着应用通过它们的生命周期进步而递送应用的利益相关者。它集中于从设计至准备就绪以用于递送给运营的核心生命周期。这能够包括要求管理、测试规划与功能测试、性能测试、开发者管理以及缺陷管理。这样的应用生命周期活动能够从工作流观点与公共管理控制台、项目跟踪和规划的层连接在一起,并且在包含具有支持的软件开发工具包(SDK)的一致储存库和开放式集成架构的公用软件基础上构建。 Test Manager 170 provides a centralized application management platform for management and automation within and across application teams and throughout the entire process of developing an application, all within a single workflow. Test manager 170 can support stakeholders responsible for delivering applications as they progress through their lifecycles. It focuses on the core lifecycle from design to readiness for delivery to operations. This can include requirements management, test planning and functional testing, performance testing, developer management, and defect management. Such application lifecycle activities can be connected from a workflow perspective with layers of common management consoles, project tracking and planning, and within a consistent repository with a supporting software development kit (SDK) and an open integration architecture. Build on common software.

如将在下面关于图2所描述的那样,测试管理器170能够被编程为支持各种功能。这能够包括诸如具有用于加速安全且可靠的应用的递送的统一软件平台的应用生命周期管理(ALM)之类的示例功能。这包括为开发者、测试者以及商业分析递送应用之间的协作提供框架的开发管理功能。测试管理器170还能够使得能够针对相应的应用定义、管理并且跟踪软件要求。例如,这能够包括提供可重复的、可伸缩的、可自动化的功能以管理技术策略和可重用服务。经由接口组件支持合成应用以跨越生命周期管理高质量、可靠的且安全的合成应用。应用生命周期管理包括对于软件即服务(SaaS)的支持。对于应用和部署还支持质量管理功能。这包括性能验证,其中一组功能被提供来在基于项目的场景以及其他开发模式下测试应用性能。模块化测试工具也被提供用于为应用迅速地开发自动化功能测试套件。 As will be described below with respect to FIG. 2, the test manager 170 can be programmed to support various functions. This can include example functionality such as Application Lifecycle Management (ALM) with a unified software platform for accelerating the delivery of secure and reliable applications. This includes development management functions that provide a framework for collaboration between developers, testers, and business analysis delivery applications. The test manager 170 can also enable software requirements to be defined, managed and tracked for respective applications. For example, this can include providing repeatable, scalable, automatable functions to manage technical policies and reusable services. Composite applications are supported via interface components to manage high quality, reliable and secure composite applications across the life cycle. Application lifecycle management includes support for software as a service (SaaS). Quality management functions are also supported for applications and deployments. This includes performance verification, where a set of capabilities is provided to test application performance in project-based scenarios as well as other development modes. Modular testing tools are also provided for rapidly developing automated functional test suites for applications.

使用测试管理器170,规定的应用要求指导应用的开发。应用开发者和所规定的要求能够被存储在存储器中以指导测试用例和测试套件的建立。例如,能够在配置、部署以及使用场景方面定义这些。不同的测试用例和场景能够作为应用模型140和策略150被捕获。代表性部署能够作为基础设施模板被捕获。能够一键完成(例如,经由指向模板、模型、策略、工件并且执行代码的web站点)在目标配置中自动地运行测试套件。周期性地或在改变已随着应用或经由手动改变或调度改变而发生了之后,这样的改变能够经由测试管理器170(诸如调用API来传递新的工件并且运行测试)而自动化。安全测试还可以在开发的各种步骤处测试或者使得能实现安全挑战。能够通过改变策略以随着选择的或确定的部署迁移到生产环境来使得能实现开发运营。 Using the test manager 170, specified application requirements guide the development of the application. Application developers and specified requirements can be stored in memory to guide the creation of test cases and test suites. For example, these can be defined in terms of configuration, deployment, and usage scenarios. Different test cases and scenarios can be captured as application models 140 and strategies 150 . Representative deployments can be captured as infrastructure templates. Can be done in one click (eg, via a web site that points to templates, models, policies, artifacts and executes the code) to automatically run the test suite in the target configuration. Periodically or after changes have occurred with the application or via manual or scheduled changes, such changes can be automated via the test manager 170 (such as calling an API to pass new artifacts and run tests). Security testing can also test or enable security challenges at various steps of development. DevOps can be enabled by changing policies to migrate to production with selected or determined deployments.

当已基于匹配部署了应用之后,部署管理器120进一步能够管理应用的生命周期的其他方面。例如,部署管理器120能够监视反馈,并且基于这样的反馈来调整基础设施资源。附加地或可替换地,部署管理器120能够基于这样的反馈或其他检测到的事件动态地调整应用模型和对应的策略。类似地,这还能够包括指令引退应用组件(例如,代码、中间件(MW)、数据库、操作系统(OS)等等)的较旧的版本并且安装组件的新的版本以使得能实现应用在云基础设施130中的继续部署。 After the application has been deployed based on matching, the deployment manager 120 is further able to manage other aspects of the application's lifecycle. For example, deployment manager 120 can monitor feedback and adjust infrastructure resources based on such feedback. Additionally or alternatively, deployment manager 120 can dynamically adjust application models and corresponding policies based on such feedback or other detected events. Similarly, this can also include instructions to retire older versions of application components (e.g., code, middleware (MW), database, operating system (OS), etc.) Continued deployment in cloud infrastructure 130 .

云130可以是混合的以便使得它可以是传统数据中心的组合,所述传统数据中心被做出成表现得像基础设施资源、专用云(在内部开发的云技术)、公用云(由服务提供商提供)以及受管理云配置(在内部或在公用云/虚拟专用云中管理)。如本文中所使用的那样,术语应用适用于组件的合集。此外,应用能够针对其组件中的每一个由一组工件(例如,安装程序、可执行文件、配置等等)和被安装并且与彼此交互的一组组件(例如,代码、中间件(MW)、数据库、操作系统(OS)等等)来表征。并且,如本文中所使用的那样,术语确定能够包括编译、枚举以及匹配。 Cloud 130 can be hybrid such that it can be a combination of traditional data centers made to behave like infrastructure resources, private clouds (cloud technology developed in-house), public clouds (provided by services provider) and managed cloud configurations (managed on-premises or in a public cloud/virtual private cloud). As used herein, the term application applies to a collection of components. Furthermore, an application can consist of, for each of its components, a set of artifacts (eg, installer, executable, configuration, etc.) and a set of components that are installed and interact with each other (eg, code, middleware (MW) , database, operating system (OS), etc.) to characterize. Also, as used herein, the term determination can include compilation, enumeration, and matching.

如本文中所使用的那样,术语“基本上”旨在指示虽然正被修改的术语的功能或结果是期望的或计划中的结果但是一些变化能够产生。在这个上下文中,例如,术语“基本上匹配”或其变体描述了结果得到的分析和比较被执行以识别为相同的资源的情形;然而,在实践中匹配能够对应于充分地类似于使得能实现部署(上面识别为绝对匹配或尽力而为匹配)的一组资源。在一个以上这样的一组资源可能对应于匹配情况下,部署管理器能够选择最佳匹配的一组可用资源。能够利用用于选择这样的匹配的其他方法。 As used herein, the term "substantially" is intended to indicate that some variation can occur although the function or result of the term being modified is the desired or intended result. In this context, for example, the term "substantially matching" or variants thereof describes a situation where the resulting analysis and comparison is performed to identify resources as identical; however, in practice a match can correspond to a resource sufficiently similar to such that A set of resources that enables a deployment (identified above as an absolute match or a best-effort match). Where more than one such set of resources may correspond to a match, the deployment manager can select the best matching set of available resources. Other methods for selecting such matches can be utilized.

应用模型140能够被采用来诸如通过用于应用的各种组件的元数据描述来表征用于部署在云基础设施130上的给定应用110。部署管理器120能够经由可由处理器执行的指令或可由处理器读取的数据来实现以基于与给定应用相关联的应用模型140和策略150(或诸策略)来分析对于给定应用110的应用要求。如将在下面所描述的那样,策略150能够被提供来描述应用110的附加的操作上下文(例如,在午夜之后操作应用、使用仅东海岸服务器、维护服务器之间的负荷均衡、部署在给定网络域内、确保负荷在服务器上的规定限制之间、确保在给定窗口内不存在即将到来的维护等等以及匹配的“测量接近”的技术)。部署管理器120然后能够确定在云基础设施中足以实现如由模型140和策略150所规定的应用110的应用要求的基础设施资源。 Application model 140 can be employed to characterize a given application 110 for deployment on cloud infrastructure 130, such as through metadata descriptions for the various components of the application. Deployment manager 120 can be implemented via processor-executable instructions or processor-readable data to analyze the application model 140 and policies 150 (or policies) associated with the given application to analyze the application requirements. As will be described below, policy 150 can be provided to describe additional operational context for application 110 (e.g., operate application after midnight, use east coast only servers, maintain load balancing between servers, deploy on a given within a network domain, ensuring that the load is between specified limits on the server, ensuring that there are no upcoming maintenance within a given window, etc. and matching "measured proximity" techniques). Deployment manager 120 can then determine infrastructure resources in the cloud infrastructure that are sufficient to implement the application requirements of application 110 as specified by model 140 and policy 150 .

在一个示例中,部署管理器120能够在使应用110的应用要求与如由资源供应和元数据160所规定的云的能力相匹配之后自动地将给定应用110部署在云基础设施130上。在这种示例中,它通常相当于(可能通过调用管理基础设施的和/或应用的生命周期的外部系统)执行在下面所描述的其他以下示例的指令。如本文中所使用的那样,术语“应用”(例如,包括应用110)能够包括将被安装和执行的一组组件。这样的组件的示例包括除用来安装和配置或卸载这样的组件的代码之外的多个分层逻辑、用户接口(UI)、中间件(MW)、数据库(DB)、操作系统(OS)。因此,应用110指的是还能够包括这样的组件和工件的储存库的组件和工件的这些集合。应用110还能够由包括单独的指针或一组组件的指针的组件和工件的指针来识别。在另一示例中,部署管理器120能够生成关于如何将给定应用110部署在云基础设施130上而通知系统(或用户)的指令。在任何一个示例中,部署管理器120能够自动地使如由模型140和策略150所规定的应用110的要求与如由资源供应和元数据160所规定的云130的能力相匹配。 In one example, deployment manager 120 can automatically deploy a given application 110 on cloud infrastructure 130 after matching the application requirements of application 110 with the capabilities of the cloud as specified by resource offerings and metadata 160 . In such examples, it generally amounts to executing (possibly by invoking external systems that manage infrastructure and/or application lifecycles) the instructions of the other following examples described below. As used herein, the term "application" (eg, including application 110) can include a set of components to be installed and executed. Examples of such components include multiple layered logic, user interface (UI), middleware (MW), database (DB), operating system (OS) in addition to code to install and configure or uninstall such components . Thus, application 110 refers to these collections of components and artifacts that can also include repositories of such components and artifacts. The application 110 can also be identified by pointers to components and artifacts including pointers to individual components or a set of pointers to components. In another example, deployment manager 120 can generate instructions to notify the system (or user) of how a given application 110 should be deployed on cloud infrastructure 130 . In either example, deployment manager 120 can automatically match the requirements of application 110 as specified by model 140 and policies 150 with the capabilities of cloud 130 as specified by resource offerings and metadata 160 .

与常规系统的手动过程相反系统100利用策略和模型驱动方法来使部署自动化。系统100能够基于表征它们在基础设施属性方面的要求的模型140和策略150来动态地(或静态地)优化基础设施资源(由元数据属性来表征)并且将基础设施资源绑定到应用110。这能够包括使应用元数据与资源元数据相匹配以及考虑策略和上下文使应用和它们的组件/依赖性在云130上的优化的或优选的/标记的部署自动化而同样无需手动部署步骤。在一个示例中,系统100允许实例的跟踪同时还支持这样的实例的自动化管理(例如,在下面所描述的自动化监视和反馈)。不同的技术被提供来吸入、创造和设计还能够描述基础设施模板、应用模型以及策略的元数据。这样的实例能够连同应用110、应用模型140以及策略150一起存储在数据库或储存库(未示出)中。 The system 100 utilizes a policy and model-driven approach to automate deployment as opposed to the manual process of conventional systems. System 100 is capable of dynamically (or statically) optimizing infrastructure resources (characterized by metadata attributes) and binding infrastructure resources to applications 110 based on models 140 and policies 150 characterizing their requirements in terms of infrastructure attributes. This can include matching application metadata with resource metadata and automating optimized or preferred/flagged deployment of applications and their components/dependencies on cloud 130 taking into account policy and context, again without manual deployment steps. In one example, system 100 allows tracking of instances while also supporting automated management of such instances (eg, automated monitoring and feedback described below). Different techniques are provided to ingest, create and design metadata that can also describe infrastructure templates, application models and policies. Such instances can be stored along with applications 110, application models 140, and policies 150 in a database or repository (not shown).

系统100能够对于监视应用采用闭合反馈回路(见图4)。这样的监视应用能够被利用来例如按比例放大或者按比例缩小应用执行要求,以及利用来通知适当的接收者,诸如用户或其他系统应用。在一个示例中,监听器能够被安装在各种组件中以从监视捕获事件。由监听器所接收到的事件能够触发处理机,所述处理机能够在系统100上生成生命周期管理操作。一些生命周期管理操作的示例包括按比例放大、按比例缩小、移动、取消提供、向用户或系统报警,并且运行另一可执行文件,其可以牵涉本文中所描述的系统和其他应用的合成。 The system 100 can employ a closed feedback loop for monitoring applications (see FIG. 4 ). Such monitoring applications can be utilized, for example, to scale up or down application execution requirements, and to notify appropriate recipients, such as users or other system applications. In one example, listeners can be installed in various components to capture events from monitoring. Events received by the listeners can trigger handlers that can generate lifecycle management operations on the system 100 . Examples of some lifecycle management operations include scaling up, scaling down, moving, unprovisioning, alerting the user or system, and running another executable, which may involve composition of the systems described herein and other applications.

能够在一个硬件平台上或跨越多个硬件平台实现系统100,其中能够在一个平台上或跨越多个平台执行系统中的模块。这样的模块能够在云技术(各种形式/和混合云)上运行或者作为能够被实现在云上或云之外的SaaS(软件即服务)提供。能够在需要的基础设施资源上自动地部署复杂应用,而同样无需用户理解如何执行这样的操作。策略150为帮助管理员减轻部署错误的操作指导方针提供自动化指令。元数据还能够通过识别应用的类型(例如,经由UI或API)与应用相关联,然后用户不必理解应用特性。这个方法对于应用基于它们与元数据的关联而允许“最佳实践”、推荐的或以强加的部署模型。 System 100 can be implemented on one hardware platform or across multiple hardware platforms, where modules in the system can execute on one platform or across multiple platforms. Such modules can run on cloud technologies (various forms and/or hybrid clouds) or be provided as SaaS (Software as a Service) that can be implemented on or off the cloud. Ability to automatically deploy complex applications on required infrastructure resources, again without requiring users to understand how to perform such operations. Policies 150 provide automated instructions for operational guidelines that help administrators mitigate deployment errors. Metadata can also be associated with an application by identifying the type of application (eg, via a UI or API), then the user does not have to understand application characteristics. This approach allows for "best practice", recommended or imposed deployment models for applications based on their association with metadata.

策略同样允许使应用特性与其他上下文考虑事项(例如,关于用户、关于应用、关于基础设施、关于上下文、关于该特定用户、关于特定应用等等)分离。这促进应用模型跨越许多应用的再使用。还能够经由策略实现特殊化(例如,为一个应用与另一应用的关系规定特定的一组策略)。这还是例如系统如何强制实行特定的一组特性值对于给定应用或版本来说为固定的。例如,系统能够对于web应用应用通用应用模型,然而在另一情况下,为模型的属性显式地规定不同的模型或特定值。还能够从混合云提供资源(例如,一些资源从本地数据库或服务器提供而一些资源从因特网服务提供)。 Policies also allow application characteristics to be decoupled from other contextual considerations (eg, about the user, about the application, about the infrastructure, about the context, about this particular user, about a particular application, etc.). This facilitates re-use of application models across many applications. Specialization can also be achieved via policies (eg, specifying a specific set of policies for the relationship of one application to another). This is also eg how the system enforces that a certain set of property values is fixed for a given application or version. For example, the system can apply a generic application model for a web application, while in another case, explicitly specify a different model or specific values for attributes of the model. Resources can also be provided from hybrid clouds (eg, some resources are provided from local databases or servers and some resources are provided from Internet services).

出于说明的简单目的,在图1的示例中,系统100的不同的组件被图示和描述为执行不同的功能。然而,本领域的普通技术人员应理解和了解,所描述的组件的功能能够由不同的组件执行,并且能够在单一组件上组合和执行数个组件的功能性。组件能够被例如实现为计算机可执行指令、硬件(例如,专用集成电路或处理单元),或者实现为两者的组合。在其他示例中,组件能够跨越网络分布在远程设备之中。在一个示例中,能够定义拓扑,其中应用模板能够包括应该部署哪些组件(例如,什么组件要被部署在哪一个位置处)的拓扑模型。在另一示例中,部署管理器120能够提供有拓扑模型并且然后确定和它匹配的最好的基础设施资源。在又一个示例中,在资源的提供和应用组件的部署之后,能够创建拓扑实例。如本文中所公开的那样,拓扑实例能够被存储和用于以后的管理、监视。 For simplicity of illustration, in the example of FIG. 1 , different components of system 100 are shown and described as performing different functions. However, those of ordinary skill in the art will understand and appreciate that the functions of described components can be performed by different components and that the functionality of several components can be combined and performed on a single component. Components can be implemented, for example, as computer-executable instructions, hardware (eg, an application specific integrated circuit or processing unit), or as a combination of both. In other examples, components can be distributed across a network among remote devices. In one example, a topology can be defined, where an application template can include a topology model of which components should be deployed (eg, what components are to be deployed at which location). In another example, the deployment manager 120 can be provided with a topology model and then determine the best infrastructure resource to match it. In yet another example, a topology instance can be created following provisioning of resources and deployment of application components. As disclosed herein, topology instances can be stored and used for later management, monitoring.

图2图示了用于应用在云环境中的自动化测试和部署的测试管理器接口200(还被称为接口200)的示例。接口200包括选择窗格210,所述选择窗格210使得能实现源代码修改和设计、测试套件的构建和启动、释放和部署选项、多平台编排(例如,在应用组件之间使事件同步)以及管理、运行并且使应用环境安全。例如,如本文中所描述的这样的选择窗格还能够经由应用编程接口(API)而暴露于其他应用。服务和支持选项214包括服务治理(例如,金融协定、容量、厂商信息等等)。服务和支持选项214中的服务市场选项包括服务商店、产品商店、对实现、使用数据以及拒付信息的目录请求。选项214中的支持中枢能够包括用例交换和应用管理细节。选项214还能够包括协作式用例管理,诸如针对应用的事故、问题、缺陷、要求、改变以及释放数据的报告和跟踪。信息数据库220能够存储/交换到/来自本文中关于接口200所描述的组件中的每一个的数据。 FIG. 2 illustrates an example of a test manager interface 200 (also referred to as interface 200 ) for automated testing and deployment of applications in a cloud environment. The interface 200 includes a selection pane 210 that enables source code modification and design, build and launch of test suites, release and deployment options, multi-platform orchestration (e.g., synchronization of events between application components) and manage, run, and secure the application environment. For example, such a selection pane as described herein can also be exposed to other applications via an application programming interface (API). Service and support options 214 include service governance (eg, financial agreements, capacity, vendor information, etc.). The service marketplace options in service and support options 214 include service store, product store, catalog request for fulfillment, usage data, and chargeback information. The support hub in option 214 can include use case exchange and application management details. Option 214 can also include collaborative use case management, such as reporting and tracking of incidents, problems, defects, requirements, changes, and release data for applications. Information database 220 is capable of storing/exchanging data to/from each of the components described herein with respect to interface 200 .

应用生命周期管理器224能够包括用于对包括合成或混合应用的应用进行设计、建模、构建和测试的选项。服务实现组件230使得能实现服务设计合成和实现、应用建模、部署和工作负荷管理,以及基础设施设计和实现。应用性能模块(APM)使得能实现所部署的应用的性能测试、分析以及分级。服务操作和桥接组件240使得能实现事件处理、监视、分析和报告以及与实时服务模型(RTSM)储存库的交互。基础设施管理组件250提供了用于定义/搜索系统组件、网络组件以及存储组件的选项。这包括用于处理/分析故障、分析应用、网络和/或系统性能并且提供用于配置选项的各种配置接口的选项。资源窗格260包括用于规定应用如何将被部署的选项,包括用于部署在公用云、受管理云、专用云、虚拟运营以及传统部署上(例如,根据标准部署场景)的选项。 The application lifecycle manager 224 can include options for designing, modeling, building and testing applications including composite or hybrid applications. The service realization component 230 enables service design composition and realization, application modeling, deployment and workload management, and infrastructure design and realization. The Application Performance Module (APM) enables performance testing, analysis and grading of deployed applications. The service operation and bridging component 240 enables event processing, monitoring, analysis and reporting, and interaction with a real-time service model (RTSM) repository. The infrastructure management component 250 provides options for defining/searching system components, network components, and storage components. This includes options for handling/analyzing faults, analyzing application, network and/or system performance and providing various configuration interfaces for configuration options. The resources pane 260 includes options for specifying how the application is to be deployed, including options for deployment on public clouds, managed clouds, private clouds, virtual operations, and traditional deployments (eg, according to standard deployment scenarios).

接口200和本文中所描述的关联的测试管理器(例如,图1的测试管理器170)使得开发测试者和安全开发者能够对于测试用应用和关联的测试套件的部署具有全自动化。这包括基于模型的自动化,其进一步促进并且加速开发过程。接口200促进待以此采用的模型和配置的创建。这能够包括混合递送模型,其中测试可以在专用云、公用云上,或者测试可以部分地在专用云和公用云上(例如,在测试容量需要(例如,以用于负荷测试)时的突发)。测试能够被从专用云自动地移动到公用云并且能够自动相反地移动。 Interface 200 and the associated test manager described herein (eg, test manager 170 of FIG. 1 ) enable development testers and security developers to have full automation for deployment of applications under test and associated test suites. This includes model-based automation, which further facilitates and speeds up the development process. Interface 200 facilitates the creation of models and configurations to be employed thereby. This can include hybrid delivery models where testing can be on private cloud, public cloud, or testing can be partially on private cloud and public cloud (e.g. in bursts when test capacity is required (e.g. for load testing) ). Tests can be automatically moved from the private cloud to the public cloud and vice versa.

同样给运营开发者提供了用于应用从开发和测试到生产的部署的全自动化。这包括生命周期管理在运营下的全自动化。基于模型的自动化使得能够构建和再使用从类似的应用创建和/或在开发与测试时使用的模型。这同样包括包括有公用和/或专用云部署的混合递送模型的测试以及如先前所描述的测试。这能够包括监视源储存库以检测改变并且以自动地启动测试。这也还能够包括用于周期性手动的和调度的测试的选项。 Operations developers are also provided with full automation for the deployment of applications from development and testing to production. This includes full automation of lifecycle management under operations. Model-based automation enables the construction and reuse of models created from similar applications and/or used in development and testing. This also includes testing of hybrid delivery models including public and/or private cloud deployments as previously described. This can include monitoring source repositories to detect changes and to automatically initiate tests. This can also include options for periodic manual and scheduled testing as well.

图3图示了用于应用的自动化部署和监视的示例系统300。系统300包括用于应用的自动化部署的执行引擎310。这样的引擎还能够包括用于与服务提供商建立服务级别协定的提供管理器并且能够包括上面所描述的部署管理器。事件处理器和调度器314能够被用于处理应用事件并且对与应用相关联的任务进行调度。如本文中所公开的那样,能够定义和安装监听器/处理机以用于监视事件。这能够包括对提供/部署和后续生命周期管理运营进行调度(例如,今夜或部署持续接下来2个星期)。配置监视器320和规则引擎能够被用于配置从应用提供反馈的监视器组件324并且用于应用用于执行该应用的规则和策略。例如,系统300包括能够包括应用模型、基础设施模型以及工件指针的模型数据库330。 FIG. 3 illustrates an example system 300 for automated deployment and monitoring of applications. System 300 includes an execution engine 310 for automated deployment of applications. Such an engine can also include a provisioning manager for establishing service level agreements with service providers and can include a deployment manager as described above. Event handler and scheduler 314 can be used to process application events and schedule tasks associated with the application. As disclosed herein, listeners/handlers can be defined and installed for monitoring events. This can include scheduling provisioning/deployment and subsequent lifecycle management operations (eg, tonight or deployment for the next 2 weeks). Configuration monitor 320 and rules engine can be used to configure monitor component 324 that provides feedback from the application and to apply rules and policies for executing the application. For example, system 300 includes a model database 330 that can include application models, infrastructure models, and artifact pointers.

实例数据库334能够被采用来存储应用的实现的目标实例。应用用户接口340能够被采用来设计应用并且配置用于操作该应用的元数据,然而基础设施用户接口244能够被采用来规定用于将应用部署在云中的基础设施要求。例如,部署组件350能够包括诸如可以经由部署秘诀(recipe)所规定的部署应用编程接口(API)和指令。一个或多个调出(call-out)354能够为给定应用规定定制的操作指令。提供组件360能够包括用于与各种云基础设施组件交互的提供API和插件。 An instance database 334 can be employed to store implemented target instances of an application. The application user interface 340 can be employed to design the application and configure metadata for operating the application, whereas the infrastructure user interface 244 can be employed to specify the infrastructure requirements for deploying the application in the cloud. For example, deployment component 350 can include a deployment application programming interface (API) and instructions such as may be specified via a deployment recipe. One or more call-outs 354 can specify custom operating instructions for a given application. Provisioning components 360 can include provisioning APIs and plug-ins for interacting with various cloud infrastructure components.

系统300能够作为设计者工具被利用来构建/部署基础设施和应用模板。它同样允许应用开发者、测试者或其他管理员或设计者构建应用模型。类似地,它们能够为应用的执行和部署设计策略和规则。基础设施和应用数据中的一些或全部能够被吸入到分别作为数据库330和340所示出的储存库中。可替换地,这样的基础设施或应用数据能够经由API来传递。应用工件(代码、可执行文件、安装包等等)能够经由数据库或API被同样吸入或参考。例如,API或入口用户接口340和344能够被用来联合或者上传请求以在还规定要使用的应用模板和策略的同时进行匹配和部署。这样的API和用户接口能够作为设计者工具的一部分被实现来定义元数据并且使元数据与基础设施相关联(例如,经由基础设施模板和拓扑)。 System 300 can be utilized as a designer tool to build/deploy infrastructure and application templates. It also allows application developers, testers, or other administrators or designers to build application models. Similarly, they can design policies and rules for the execution and deployment of applications. Some or all of the infrastructure and application data can be ingested into repositories shown as databases 330 and 340, respectively. Alternatively, such infrastructure or application data can be communicated via an API. Application artifacts (code, executables, installation packages, etc.) can also be ingested or referenced via a database or API. For example, the API or portal user interfaces 340 and 344 can be used to syndicate or upload requests for matching and deployment while also specifying the application templates and policies to use. Such APIs and user interfaces can be implemented as part of a designer tool to define and associate metadata with infrastructure (eg, via infrastructure templates and topologies).

能够提供代理和监视工具的准备和建立以便使得应用能够发现实例(其已被仪表化并且如果需要具有代理)。这能够在将应用及其关联的组件绑定到基础设施资源之后经由利用来部署基础设施和应用元件的指令/秘诀来实现。事件/报告允许闭合反馈回路,所述闭合反馈回路能够被用来如果策略允许则针对将来的改变(基于策略)按比例放大/按比例缩小或者更新上下文/策略以及通知适当的方或系统(见图4和下面的描述)。如上面所指出的那样,云和资源池可以是其中一些资源被在本地服务而一些被远程地服务的混合实体。对于能够支持保证/监视事件的自动定标、工作负荷管理以及处理的云或硬件资源,应用可以是自我管理的。这样的自我管理例如利用反馈来确定性能,变更应用要求,并且视情况而定生成警报。 Provisioning and setup of agents and monitoring tools can be provided to enable applications to discover instances (which are instrumented and have agents if required). This can be achieved via instructions/recipes that are utilized to deploy infrastructure and application elements after binding the application and its associated components to the infrastructure resources. Events/reports allow closed feedback loops that can be used to scale up/down or update context/policy for future changes (based on policy) if policy allows and notify appropriate parties or systems (see Figure 4 and description below). As noted above, clouds and resource pools may be hybrid entities where some resources are served locally and some are served remotely. Applications can be self-managing with respect to cloud or hardware resources capable of supporting automatic scaling of assurance/monitoring events, workload management, and processing. Such self-management utilizes feedback, for example, to determine performance, change application requirements, and generate alerts as appropriate.

图4图示了对于应用在云基础设施中的部署和管理利用闭环反馈的示例系统400。系统400包括执行来自存储器414的指令的处理单元410(或处理器),所述存储器414包括用于存储与计算机相关联的计算机可执行指令的固件或其他存储介质。处理单元410和存储器420能够作为部署工具420的一部分被提供,所述部署工具420经由部署管理器450将应用430部署在云基础设施440上。如所示,反馈460从所部署的应用430被接收并且由监视器组件470处理。这样的反馈460可以是来自所部署的应用430的指示应用如何在执行的状态或事件。在一个示例中,反馈460能够被采用来调整所部署的应用430的操作参数,其已根据先前确定的应用要求被设置。例如,可以调整前台任务以便使得任务在与目前正在执行的不同数目的微秒期间操作。这能够包括按比例放大或缩小所部署的应用430的操作要求。在另一示例中,反馈460可以被采用来调整云基础设施440的操作基础设施。例如,服务级别协定可以与云基础设施服务提供商自动地重新协商以增加或者减少可用资源以适当地满足所部署的应用430的操作需要。 FIG. 4 illustrates an example system 400 that utilizes closed-loop feedback for deployment and management of applications in a cloud infrastructure. System 400 includes a processing unit 410 (or processor) that executes instructions from memory 414, which includes firmware or other storage media for storing computer-executable instructions associated with a computer. Processing unit 410 and memory 420 can be provided as part of deployment tool 420 that deploys application 430 on cloud infrastructure 440 via deployment manager 450 . As shown, feedback 460 is received from deployed application 430 and processed by monitor component 470 . Such feedback 460 may be a state or event from the deployed application 430 that indicates how the application is executing. In one example, feedback 460 can be employed to adjust operating parameters of deployed application 430 that have been set according to previously determined application requirements. For example, a foreground task may be adjusted so that the task operates for a different number of microseconds than it is currently executing. This can include scaling up or down the operational requirements of the deployed application 430 . In another example, feedback 460 may be employed to adjust the operational infrastructure of cloud infrastructure 440 . For example, service level agreements may be automatically renegotiated with cloud infrastructure service providers to increase or decrease available resources to appropriately meet the operational needs of deployed applications 430 .

计算机480能够操作一个或多个接口484以对应用模型490进行编程并且存储在数据库494中。计算机还能够与部署工具420交互以变更部署并且促进应用的生命周期管理。接口484还能够配置基础设施模板,变更操作要求,配置监视器组件470,并且与在系统400内所生成的事件和警报交互。如先前所指出的那样,连同在云上执行一起,所部署的应用430能够跨越不相关云传播或者作为混合应用的一部分被提供。例如,能够部分地在云基础设施440上和部分地在作为与云不同的实体(例如,本地服务器数据库对网络数据库)的数据库494上执行所部署的应用430。 Computer 480 is capable of operating one or more interfaces 484 to program application models 490 and store in database 494 . The computer can also interact with the deployment tool 420 to alter the deployment and facilitate life cycle management of the application. Interface 484 is also capable of configuring infrastructure templates, changing operational requirements, configuring monitor components 470 , and interacting with events and alarms generated within system 400 . As previously noted, along with execution on the cloud, the deployed application 430 can be spread across unrelated clouds or provided as part of a hybrid application. For example, deployed application 430 can be executed partially on cloud infrastructure 440 and partially on database 494 which is a distinct entity from the cloud (eg, a local server database versus a network database).

鉴于上面所描述的前面的结构和功能特征,将参考图5更好地了解示例方法。虽然出于说明的简单目的,图5的示例方法被示出和描述为串行地执行,但是应当理解和了解的是,本示例不受所图示的次序限制,因为一些动作在其他示例中能够以不同的次序和/或同时根据本文中所示出和描述的次序发生。而且,不必要执行所有描述的动作来实现方法。图5的示例方法能够被实现为能够被存储在非暂时性计算机可读介质中的机器可读指令,所述非暂时性计算机可读介质诸如可以是计算机程序产品或其他形式的存储器储存器。与图5的方法相对应的计算机可读指令还能够从存储器存取并且由处理器(例如,图4的处理单元410)执行。 In view of the foregoing structural and functional features described above, an example method will be better understood with reference to FIG. 5 . While the example method of FIG. 5 is shown and described as being performed serially for simplicity of illustration, it is to be understood and appreciated that this example is not limited by the order illustrated, as some actions are performed in other examples. Can occur in different orders and/or simultaneously according to the order shown and described herein. Moreover, it is not necessary that all described acts be performed to implement a methodology. The example method of FIG. 5 can be implemented as machine-readable instructions that can be stored in a non-transitory computer-readable medium, such as may be a computer program product or other form of memory storage. Computer readable instructions corresponding to the method of FIG. 5 can also be accessed from memory and executed by a processor (eg, processing unit 410 of FIG. 4 ).

图5图示了用于应用的自动化部署的示例方法500。在510处,方法500包括处理对给定应用进行建模的应用元数据(例如,经由图1的部署管理器120)。方法500包括在520处处理描述用于云执行给定应用的资源的资源元数据。在530处,方法500针对给定应用配置一套测试(例如,经由图1的测试管理器170)。在540处,方法500包括基于使应用元数据与资源元数据相匹配以便于执行该套测试来将给定应用部署在云中。方法500还能够包括自动地将给定应用部署在公用云或专用云中的至少一个上。方法500还能够包括监视针对储存库中的给定应用的改变并且基于改变的检测自动地启动一套测试。方法500还能够包括在改变已随着给定应用、经由手动改变或经由调度改变而发生了之后,通过传递新的应用工件并且以周期性方式在新的应用工件上运行测试来使改变自动化。该方法还包括在第一环境中使给定应用分阶段进行并且将给定应用移动到至少一个其他环境。 FIG. 5 illustrates an example method 500 for automated deployment of applications. At 510 , method 500 includes processing application metadata modeling a given application (eg, via deployment manager 120 of FIG. 1 ). Method 500 includes, at 520 , processing resource metadata describing resources for cloud execution of a given application. At 530 , method 500 configures a suite of tests (eg, via test manager 170 of FIG. 1 ) for a given application. At 540, method 500 includes deploying the given application in the cloud based on matching the application metadata with the resource metadata to facilitate execution of the suite of tests. Method 500 can also include automatically deploying a given application on at least one of a public cloud or a private cloud. Method 500 can also include monitoring changes for a given application in the repository and automatically launching a suite of tests based on detection of changes. Method 500 can also include automating changes by passing new application artifacts and running tests on the new application artifacts in a periodic manner after changes have occurred with a given application, either via manual changes or via scheduled changes. The method also includes staging the given application in the first environment and moving the given application to at least one other environment.

方法500能够作为诸如图1或4中所描绘的示例之类的系统的一部分被自动地执行。系统能够包括用于存储与计算机相关联的计算机可执行指令的存储器和用于访问存储器、执行计算机可执行指令并且从而执行方法500的处理单元。计算机可执行指令能够包括存储在存储器中以表征用于部署在云基础设施上的给定应用的应用模型,其中该应用模型能够由应用元数据来描述。在存储器中存储的部署管理器能够分析给定应用的应用元数据和与给定应用相关联的策略以确定云基础设施中的基础设施资源。基础设施资源能够被规定为资源元数据。部署管理器能够自动地使应用元数据与资源元数据基本上匹配(例如,识别最接近匹配)以实现应用要求。测试管理器能够被存储在存储器中以经由部署管理器针对给定应用在云中配置和启动应用部署的测试套件。监视器组件能够根据给定应用在云中的部署来监视测试条件并且以为给定应用提供与所监视到的测试条件相对应的反馈。 Method 500 can be performed automatically as part of a system such as the examples depicted in FIGS. 1 or 4 . The system can include memory for storing computer-executable instructions associated with the computer and a processing unit for accessing the memory, executing the computer-executable instructions, and thereby performing method 500 . Computer-executable instructions can include an application model stored in memory to characterize a given application for deployment on the cloud infrastructure, where the application model can be described by application metadata. A deployment manager stored in memory can analyze application metadata for a given application and policies associated with the given application to determine infrastructure resources in the cloud infrastructure. Infrastructure resources can be specified as resource metadata. The deployment manager can automatically substantially match the application metadata with the resource metadata (eg, identify the closest match) to implement the application requirements. A test manager can be stored in memory to configure and initiate test suites for application deployment in the cloud for a given application via the deployment manager. The monitor component can monitor test conditions according to the deployment of the given application in the cloud and provide feedback corresponding to the monitored test conditions for the given application.

图6图示了用于云应用的自动化部署的示例部署系统600。系统600包括应用模型610以表征用于部署在诸如上面关于图1所示出的云基础设施上的给定应用620。部署管理器630基于与给定应用相关联的应用模型610和策略640来分析对于给定应用620的应用要求以确定在云基础设施中用来实现该应用要求的基础设施资源。测试管理器650能够经由部署管理器针对给定应用来配置和启动应用部署的测试套件。 FIG. 6 illustrates an example deployment system 600 for automated deployment of cloud applications. System 600 includes application model 610 to characterize a given application 620 for deployment on a cloud infrastructure such as that shown above with respect to FIG. 1 . The deployment manager 630 analyzes the application requirements for a given application 620 based on the application model 610 and policies 640 associated with the given application to determine the infrastructure resources to use in the cloud infrastructure to implement the application requirements. The test manager 650 is capable of configuring and launching test suites for application deployment for a given application via the deployment manager.

图7图示了用于使云730的资源能力720与应用的应用要求740相匹配的部署管理器710的示例。资源能力720能够包括资源供应750,所述资源供应750可以来自由支持云730的多个资源提供商所提供的资源供应的池。例如,这样的资源供应能够包括云服务(例如,可经由对应的应用程序接口(API)访问)、能够激活并且提供这样的服务的现有系统、或现有外部合成物(具有功能调用的参数化工作流/合成脚本)中的一个或多个。资源供应750能够由资源提供商编译/从资源提供商吸入。资源能力720同样包括与表征资源的感兴趣属性的每个资源供应相关联的资源元数据760。例如,这样的元数据760能够规定除其他规格、容量、SLA、调度维护、工作负荷(如果已经在部分使用中)外的位置/拓扑(例如,针对合成资源)、硬件、CPU、存储器、所包括或支持的操作系统、其他软件方面以及标签。 7 illustrates an example of a deployment manager 710 for matching resource capabilities 720 of a cloud 730 with application requirements 740 of an application. Resource capabilities 720 can include resource offerings 750 , which may be from a pool of resource offerings offered by multiple resource providers supporting cloud 730 . For example, such resource offerings can include cloud services (e.g., accessible via corresponding Application Programming Interfaces (APIs), existing systems capable of activating and providing such services, or existing external compositions (with parameters of function calls one or more of the chemical workflows/synthesis scripts). Resource offerings 750 can be compiled/ingested from resource providers. Resource capabilities 720 also include resource metadata 760 associated with each resource offering that characterizes attributes of interest for the resource. For example, such metadata 760 can specify location/topology (e.g., for composite resources), hardware, CPU, memory, all Operating systems, other software aspects, and labels included or supported.

资源元数据760能够与由资源设计或吸入过程所设计或添加到资源池的任何资源相关联。描述应用模型和资源供应的元数据能够经由设计者(例如,工具、入口UI或API)来捕获以描述元数据。包括秘诀(例如,与用于诸如取消部署和监视之类的部署和其他生命周期管理功能的指令相对应)的元数据能够构成资源模板。由元数据所规定的资源元数据760和所关联的资源供应750能够作为能够被其他应用利用的模板(例如,元数据和供应的数据文件)的一部分被提供。 Resource metadata 760 can be associated with any resource designed or added to a resource pool by a resource design or ingestion process. Metadata describing the application model and resource provisioning can be captured via a designer (eg, tools, portal UI, or API) to describe the metadata. Metadata including recipes (eg, corresponding to instructions for deployment and other lifecycle management functions such as undeployment and monitoring) can constitute resource templates. Resource metadata 760 and associated resource offerings 750 specified by the metadata can be provided as part of templates (eg, metadata and data files for the offerings) that can be utilized by other applications.

给定应用的应用要求740能够经由能够在应用设计时或在应用设计之后定义的应用元数据770规定。这能够包括待个别地部署的组件(例如,多个层中的多个应用)。应用元数据770还能够规定关于资源的要求/偏好。这能够包括作为工作流或过程(异步的或同步的)的通用部署脚本。部署脚步能够进一步包括用于每个组件的部署指令(例如,用来在分配的资源上运行的脚本、服务的指令等等)。这能够包括用来部署代理或者为监视和/或管理做好准备的关联指令。能够跨越组件应用指令。一般而言,应用元数据770能够表示上面关于图1所描述的应用模型。给定应用模型能够被存储在存储器中并且由多个应用利用来促进其部署。如先前所指出的那样,应用能够包括提供有被部署脚本利用的应用的多个合作组件和工件(例如,源或可执行的和可安装的)。 Application requirements 740 for a given application can be specified via application metadata 770 which can be defined at application design time or after application design. This can include components to be deployed individually (eg, multiple applications in multiple tiers). Application metadata 770 can also specify requirements/preferences regarding resources. This can include generic deployment scripts as a workflow or process (asynchronous or synchronous). The deployment script can further include deployment instructions for each component (eg, scripts to run on allocated resources, instructions for services, etc.). This can include associated instructions to deploy agents or prepare for monitoring and/or management. Ability to apply directives across components. In general, application metadata 770 can represent the application model described above with respect to FIG. 1 . A given application model can be stored in memory and utilized by multiple applications to facilitate their deployment. As noted previously, an application can include multiple cooperating components and artifacts (eg, source or executable and installable) that provide the application utilized by the deployment script.

如所示,能够提供适用于应用/基础设施并且参考用于操作应用的上下文的附加的策略780。例如,策略可以规定应用的位置(例如,仅在东海岸服务器上操作)、时间(例如,在午夜之后并且在上午6点之前操作)、处理要求(例如,所规定的处理速度和存储器需要)和/或负荷均衡要求(例如,无服务器将在超过50%负荷情况下操作)、SLA、可用性要求(例如,在接下来x天内无调度的维护等)、安全(例如,特定网络域或安全域)。 As shown, an additional policy 780 applicable to the application/infrastructure and referencing the context for operating the application can be provided. For example, a policy may specify the location of the application (e.g., operate only on east coast servers), time (e.g., operate after midnight and before 6 am), processing requirements (e.g., specified processing speed and memory needs) and/or load balancing requirements (e.g. no server will operate at more than 50% load), SLAs, availability requirements (e.g. no scheduled maintenance for next x days, etc.), security (e.g. specific network domain or security area).

应用能够由部署管理器710通过检索所关联的元数据770并且基于最佳匹配(如果例如由策略强加则可以是确切标记)和资源池中可用的资源供应750匹配来部署。资源元数据760与应用元数据770的匹配可以是根据严格规格的(例如,处理器必须在1 GHZ下操作)或者能够根据阈值规格(例如,在500 MHZ之上操作的任何处理器都是可接受的)被匹配。因此,匹配在该匹配是最佳拟合或接近于所期望的匹配准则情况下可以是绝对匹配或者可以是基本匹配。秘诀能够由部署管理器710处理并且指的是用于应用部署的代码/工件。例如,这样的秘诀能够经由已知储存库位置变得可用或者经由秘诀的指针来参考。例如,对应于应用的合成资源的拓扑能够被部署管理器710保存为新的资源类型以用于在类似的应用元数据被另一应用使用时再使用。相同的应用或类似的应用的多个版本能够再使用相同的应用元数据,但是,例如,采用不同的策略来涉及操作上下文。 The application can be deployed by the deployment manager 710 by retrieving the associated metadata 770 and matching based on the best match (which could be an exact tag if imposed, for example, by policy) and the resource offering 750 available in the resource pool. The matching of resource metadata 760 to application metadata 770 may be based on strict specifications (e.g., a processor must operate at 1 GHZ) or capable of a threshold specification (e.g., any processor operating above 500 MHZ is acceptable). accepted) is matched. Thus, a match may be an absolute match or may be a substantial match where the match is a best fit or close to the desired matching criteria. Recipes can be processed by deployment manager 710 and refer to code/artifacts used for application deployment. For example, such recipes can be made available via known repository locations or referenced via pointers to recipes. For example, a topology corresponding to an application's composite resources can be saved by the deployment manager 710 as a new resource type for reuse when similar application metadata is used by another application. Multiple versions of the same application or similar applications can reuse the same application metadata, but, for example, employ different strategies to refer to the operational context.

上面已描述的是示例。当然,不可能描述组件或方法的每个可想象到的组合,但是本领域的普通技术人员应认识到,许多另外的组合和排列是可能的。因此,本发明旨在包含落入本申请(包括所附权利要求)的范围内的所有这样的变更、修改以及变化。附加地,在本公开内容或权利要求记载“一”、“一个”、“第一”或“另一”元件或其等同物情况下,它应该被解释成包括一个或一个以上这样的元件,既不要求也不排除两个或更多个这样的元件。如本文中所使用的那样,术语“包括”意指包括但不限于,并且术语“包括有”意指包括有但不限于。术语“基于”意指至少部分地基于。 What has been described above are examples. It is, of course, not possible to describe every conceivable combination of components or methodologies, but one of ordinary skill in the art will recognize that many additional combinations and permutations are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications and variations that fall within the scope of this application, including the appended claims. Additionally, where the disclosure or claims recite "a", "an", "first" or "another" element or its equivalent, it should be construed to include one or more such elements, Two or more such elements are neither required nor excluded. As used herein, the term "comprising" means including but not limited to, and the term "comprising" means including but not limited to. The term "based on" means based at least in part on.

Claims (15)

1.一种系统,其包括: 1. A system comprising: 应用模型,被存储在存储器中,以表征用于部署在云上的给定应用; an application model, stored in memory, to represent a given application for deployment on the cloud; 部署管理器,与可由处理器执行的指令相对应,以基于与所述给定应用相关联的所述应用模型和策略来分析对于所述给定应用的应用要求以和在所述云中用来实现所述应用要求的基础设施资源基本上匹配;以及 a deployment manager, corresponding to instructions executable by a processor, to analyze application requirements for the given application based on the application model and policies associated with the given application and to substantially match the infrastructure resources required to implement the application; and 测试管理器,与可由所述处理器执行的指令相对应,以经由所述部署管理器针对所述给定应用来配置和启动应用部署的测试套件。 A test manager, corresponding to instructions executable by the processor, to configure and launch a test suite for application deployment via the deployment manager for the given application. 2.根据权利要求1所述的系统,其中所述部署管理器将基于来自所述测试管理器的命令自动地将所述给定应用部署在所述云上。 2. The system of claim 1, wherein the deployment manager is to automatically deploy the given application on the cloud based on commands from the test manager. 3.根据权利要求1所述的系统,进一步包括应用编程接口(API)以监视储存库中的应用改变并且经由所述部署管理器来启动应用部署的所述测试套件。 3. The system of claim 1, further comprising an application programming interface (API) to monitor application changes in a repository and initiate the test suite of application deployments via the deployment manager. 4.根据权利要求1所述的系统,进一步包括用户接口以经由所述部署管理器来配置和启动应用部署的所述测试套件。 4. The system of claim 1, further comprising a user interface to configure and initiate the test suite of application deployments via the deployment manager. 5.根据权利要求4所述的系统,其中所述用户接口进一步将命令所述部署管理器将所述给定应用从测试移动到生产。 5. The system of claim 4, wherein the user interface is further to instruct the deployment manager to move the given application from test to production. 6.根据权利要求5所述的系统,其中所述用户接口进一步将使得能实现为所述给定应用的所述移动规定目的地位置、为所述给定应用规定能力或者为所述给定应用规定服务质量(QoS)中的至少一个的策略改变。 6. The system of claim 5, wherein the user interface is further to enable specifying a destination location for the movement of the given application, specifying capabilities for the given application, or specifying capabilities for the given application. A policy change specifying at least one of qualities of service (QoS) is applied. 7.根据权利要求4所述的系统,其中所述用户接口提供接口选项以针对开发测试环境、开发安全环境、开发运营环境或质量保障环境中的至少一个来配置应用部署的所述测试套件。 7. The system of claim 4, wherein the user interface provides interface options to configure the test suite for application deployment for at least one of a development test environment, a development security environment, a development operations environment, or a quality assurance environment. 8.根据权利要求4所述的系统,其中所述用户接口包括选择窗格,所述选择窗格包括源代码选择用户接口元件、构建测试选择用户接口元件、版本和部署选择用户接口元件、多平台编排选择用户接口元件以及管理、运行和安全选择用户接口元件。 8. The system of claim 4, wherein the user interface includes a selection pane comprising a source code selection user interface element, a build test selection user interface element, a version and deployment selection user interface element, a multi- Platform orchestration selects user interface elements and management, operations, and security selects user interface elements. 9.根据权利要求4所述的系统,其中所述用户接口包括资源窗格,所述资源窗格包括用于公用云、专用云、受管理云、虚拟运营以及传统配置的配置功能选项。 9. The system of claim 4, wherein the user interface includes a resource pane including configuration function options for public cloud, private cloud, managed cloud, virtual operations, and traditional configuration. 10.根据权利要求4所述的系统,其中所述用户接口包括用来对测试组件进行设计、建模和构建的自动化选项卡管理器、用于服务设计、应用建模、工作负荷管理和基础设施设计的服务实现组件、用于配置事件、性能和分析的服务和运营网桥,或用来管理所述云中的所述基础设施资源的故障、性能和配置的基础设施管理组件。 10. The system of claim 4, wherein the user interface includes an automated tab manager for designing, modeling and building test components, for service design, application modeling, workload management and foundation A service implementation component for facility design, a service and operations bridge for configuring events, performance and analytics, or an infrastructure management component for managing faults, performance and configuration of said infrastructure resources in said cloud. 11.一种方法,其包括: 11. A method comprising: 由计算机处理用来对给定应用进行建模的应用元数据; Application metadata used by computer processing to model a given application; 由所述计算机处理用来描述用于云执行所述给定应用的资源的资源元数据; processing, by the computer, resource metadata describing resources for cloud execution of the given application; 由所述计算机配置针对所述给定应用的一套测试;以及 configuring, by the computer, a suite of tests for the given application; and 由所述计算机基于使所述应用元数据与所述资源元数据相匹配以便于执行该套测试将所述给定应用部署在所述云中。 The given application is deployed in the cloud by the computer based on matching the application metadata with the resource metadata in order to perform the suite of tests. 12.根据权利要求11所述的方法,进一步包括在改变已随着所述给定应用、经由手动改变或经由调度改变而发生了之后,通过以周期性方式传递新的应用工件并且对所述新的应用运行测试来使改变自动化。 12. The method of claim 11 , further comprising passing in new application artifacts in a periodic manner and updating the New applications run tests to automate changes. 13.根据权利要求11所述的方法,进一步包括在第一环境中使所述给定应用分阶段进行并且将所述给定应用移动到至少一个其他环境。 13. The method of claim 11, further comprising staging the given application in a first environment and moving the given application to at least one other environment. 14.一种系统,包括: 14. A system comprising: 存储器,其用于存储与计算机相关联的计算机可执行指令;以及 memory for storing computer-executable instructions associated with the computer; and 处理单元,其用于访问所述存储器并且执行所述计算机可执行指令,所述计算机可执行指令包括: a processing unit for accessing the memory and executing the computer-executable instructions, the computer-executable instructions comprising:   应用模型,其被存储在所述存储器中以表征用于部署在云上的给定应用,其中所述应用模型由应用元数据来描述; an application model stored in said memory to characterize a given application for deployment on a cloud, wherein said application model is described by application metadata;   部署管理器,其被存储在所述存储器中以分析所述给定应用的所述应用元数据和与所述给定应用相关联的策略来确定所述云中的基础设施资源,其中所述基础设施资源被规定为资源元数据并且所述部署管理器自动地使所述应用元数据与所述资源元数据相匹配以实现应用要求;以及 a deployment manager stored in the memory to analyze the application metadata for the given application and policies associated with the given application to determine infrastructure resources in the cloud, wherein the infrastructure resources are specified as resource metadata and the deployment manager automatically matches the application metadata with the resource metadata to implement application requirements; and   测试管理器,其被存储在所述存储器中以经由所述部署管理器针对所述给定应用在所述云中配置和启动应用部署的测试套件。 a test manager stored in the memory to configure and start a test suite of application deployments in the cloud for the given application via the deployment manager. 15.根据权利要求14所述的系统,进一步包括监视器组件用以根据所述给定应用在所述云中的部署来监视测试条件并且用以为所述给定应用提供与所监视到的测试条件相对应的反馈。 15. The system of claim 14 , further comprising a monitor component to monitor test conditions according to the given application's deployment in the cloud and to provide the given application with the monitored test conditions. Feedback corresponding to the condition.
CN201280072843.1A 2012-06-08 2012-06-08 Test and management for cloud applications Pending CN104246740A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/041637 WO2013184137A1 (en) 2012-06-08 2012-06-08 Test and management for cloud applications

Publications (1)

Publication Number Publication Date
CN104246740A true CN104246740A (en) 2014-12-24

Family

ID=49712392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280072843.1A Pending CN104246740A (en) 2012-06-08 2012-06-08 Test and management for cloud applications

Country Status (4)

Country Link
US (1) US20150100684A1 (en)
EP (1) EP2859460A4 (en)
CN (1) CN104246740A (en)
WO (1) WO2013184137A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881746A (en) * 2015-06-01 2015-09-02 北京圆通慧达管理软件开发有限公司 Platform-as-a-service Paas platform architecture in management information system
CN108021502A (en) * 2017-11-20 2018-05-11 广州品唯软件有限公司 Client traffic test method, device and computer-readable recording medium
CN108628612A (en) * 2017-03-24 2018-10-09 埃森哲环球解决方案有限公司 Application management platform
CN109075991A (en) * 2016-02-26 2018-12-21 诺基亚通信公司 Cloud verifying and test automation
CN109144522A (en) * 2017-06-19 2019-01-04 中兴通讯股份有限公司 Using dispositions method, device, equipment and computer readable storage medium
CN109828898A (en) * 2017-11-23 2019-05-31 财团法人资讯工业策进会 Detection system and detection method
CN111630534A (en) * 2018-01-29 2020-09-04 西门子股份公司 Method for collaborative machine learning of analytical models

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154574B2 (en) * 2012-02-20 2015-10-06 International Business Machines Corporation Activating location-based resources in a networked computing environment
WO2013184133A1 (en) * 2012-06-08 2013-12-12 Hewlett-Packard Development Company, L.P. Cloud application deployment portability
WO2013184134A1 (en) * 2012-06-08 2013-12-12 Hewlett-Packard Development Company, L.P. Cloud application deployment
EP2831741A4 (en) 2012-07-31 2015-12-30 Hewlett Packard Development Co Constructing test-centric model of application
CN103795749B (en) * 2012-10-30 2017-03-01 国际商业机器公司 The method and apparatus operating in the problem of software product in cloud environment for diagnosis
US10216503B2 (en) 2013-03-13 2019-02-26 Elasticbox Inc. Deploying, monitoring, and controlling multiple components of an application
CN104253831B (en) * 2013-06-26 2018-05-11 国际商业机器公司 A kind of method and system for being used for the application deployment in cloud computing environment
US20170091079A1 (en) * 2014-05-18 2017-03-30 Kai Zhou Performance testing system and method
US10225156B2 (en) 2014-06-27 2019-03-05 Hewlett Packard Enterprise Development Lp Testing a cloud service component on a cloud platform
US9948514B2 (en) * 2014-06-30 2018-04-17 Microsoft Technology Licensing, Llc Opportunistically connecting private computational resources to external services
US20160036724A1 (en) * 2014-07-31 2016-02-04 Corent Technology, Inc. Automatic Multi-Application Scanner for Application Migration to Cloud
WO2016048394A1 (en) * 2014-09-25 2016-03-31 Hewlett Packard Enterprise Development Lp Testing a cloud service
US9892015B2 (en) 2015-03-16 2018-02-13 Microsoft Technology Licensing, Llc Integration and automation of build and test in a customized computing system
IN2015CH01317A (en) * 2015-03-18 2015-04-10 Wipro Ltd
US20160378448A1 (en) * 2015-06-26 2016-12-29 Microsoft Technology Licensing, Llc Smart deployer
US9462010B1 (en) 2015-07-07 2016-10-04 Accenture Global Services Limited Threat assessment level determination and remediation for a cloud-based multi-layer security architecture
US9419857B1 (en) * 2015-07-24 2016-08-16 Accenture Global Services Limited Cloud-based multi-layer security architecture with hub and spoke development environment
US10282273B1 (en) * 2015-08-06 2019-05-07 Mesosphere, Inc. Application monitoring using workload metadata
CN105068809A (en) * 2015-08-13 2015-11-18 上海斐讯数据通信技术有限公司 PyQt-based platform for implementing automation project management and case execution
CN106535240B (en) * 2015-09-11 2020-06-23 飞思达技术(北京)有限公司 Mobile APP centralized performance analysis method based on cloud platform
US9767291B2 (en) * 2015-10-06 2017-09-19 Netflix, Inc. Systems and methods for security and risk assessment and testing of applications
US20170123777A1 (en) * 2015-10-28 2017-05-04 Hewlett Packard Enterprise Development Lp Deploying applications on application platforms
US9733927B2 (en) * 2015-11-11 2017-08-15 International Business Machines Corporation Detection of software or hardware incompatibilities in software packages
WO2017095382A1 (en) * 2015-11-30 2017-06-08 Hewlett Packard Enterprise Development Lp Application migration system
US9767011B2 (en) * 2015-12-01 2017-09-19 International Business Machines Corporation Globalization testing management using a set of globalization testing operations
US9740601B2 (en) 2015-12-01 2017-08-22 International Business Machines Corporation Globalization testing management service configuration
CN108701057B (en) * 2015-12-21 2020-03-24 亚马逊科技公司 Computer-readable storage media, systems, and methods for provisioning a deployment conduit
US10193961B2 (en) 2015-12-21 2019-01-29 Amazon Technologies, Inc. Building deployment pipelines for a production computing service using live pipeline templates
US10334058B2 (en) 2015-12-21 2019-06-25 Amazon Technologies, Inc. Matching and enforcing deployment pipeline configurations with live pipeline templates
US9787779B2 (en) 2015-12-21 2017-10-10 Amazon Technologies, Inc. Analyzing deployment pipelines used to update production computing services using a live pipeline template process
US9760366B2 (en) 2015-12-21 2017-09-12 Amazon Technologies, Inc. Maintaining deployment pipelines for a production computing service using live pipeline templates
US9674108B1 (en) 2015-12-30 2017-06-06 Accenture Global Solutions Limited Hub-and-spoke connection architecture
US10838846B1 (en) * 2016-05-16 2020-11-17 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework
US10489278B2 (en) 2016-05-16 2019-11-26 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework with entitlements
US10153941B2 (en) * 2016-05-17 2018-12-11 Microsoft Technology Licensing, Llc Distributed operational control in computing systems
US20170352073A1 (en) * 2016-06-02 2017-12-07 Accenture Global Solutions Limited Platform configuration tool
US10402180B2 (en) * 2016-06-29 2019-09-03 Google Llc Latency reduction in feedback-based system performance determination
US10169206B2 (en) * 2016-11-15 2019-01-01 Accenture Global Solutions Limited Simultaneous multi-platform testing
JP6692454B2 (en) * 2016-12-22 2020-05-13 株式会社日立製作所 Continuous integration system and resource control method
US10284634B2 (en) 2017-01-19 2019-05-07 International Business Machines Corporation Closed-loop infrastructure orchestration templates
US10574542B2 (en) 2017-03-01 2020-02-25 International Business Machines Corporation System and method for distributing resources throughout a network
TWI694377B (en) * 2017-03-17 2020-05-21 葉振忠 Development platform of mobile native applications
US10469567B2 (en) 2017-04-14 2019-11-05 At&T Intellectual Property I, L.P. Model-driven implementation of services on a software-defined network
US10838840B2 (en) 2017-09-15 2020-11-17 Hewlett Packard Enterprise Development Lp Generating different workload types for cloud service testing
US10360012B2 (en) * 2017-11-09 2019-07-23 International Business Machines Corporation Dynamic selection of deployment configurations of software applications
US10542091B2 (en) 2017-11-14 2020-01-21 Sap Se Repository-based shipment channel for cloud and on-premise software
US20190158367A1 (en) * 2017-11-21 2019-05-23 Hewlett Packard Enterprise Development Lp Selection of cloud service providers to host applications
US10587463B2 (en) 2017-12-20 2020-03-10 Hewlett Packard Enterprise Development Lp Distributed lifecycle management for cloud platforms
EP3511820A1 (en) * 2018-01-15 2019-07-17 Siemens Aktiengesellschaft Cloud based artifact lifecycle management system and method thereof
US10733070B2 (en) * 2018-03-29 2020-08-04 Bank Of America Corporation Executing test scripts with respect to a server stack
WO2019213427A1 (en) * 2018-05-04 2019-11-07 Laibson Benjamin William Emulation of cloud computing service regions
US10592677B2 (en) * 2018-05-30 2020-03-17 Paypal, Inc. Systems and methods for patching vulnerabilities
US10664256B2 (en) 2018-06-25 2020-05-26 Microsoft Technology Licensing, Llc Reducing overhead of software deployment based on existing deployment occurrences
WO2020002030A1 (en) * 2018-06-26 2020-01-02 Siemens Aktiengesellschaft Method and system for determining an appropriate installation location for an application to be installed in a distributed network environment
US10880197B2 (en) * 2018-07-13 2020-12-29 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing a network node using source code for programming a packet forwarding plane of the network node
US10768900B2 (en) 2018-12-05 2020-09-08 Sap Se Model-based service registry for software systems
US10805274B2 (en) 2018-12-06 2020-10-13 Sap Se Central management platform without user management
US10637952B1 (en) 2018-12-19 2020-04-28 Sap Se Transition architecture from monolithic systems to microservice-based systems
CN109818948B (en) * 2019-01-16 2020-04-10 星环信息科技(上海)有限公司 Application deployment method, device, system, equipment and medium
US10795662B2 (en) * 2019-02-11 2020-10-06 Salesforce.Com, Inc. Scalable artifact distribution
CN111831539B (en) * 2019-04-18 2024-09-24 中科寒武纪科技股份有限公司 A test method and related products
CN111857685A (en) * 2020-07-16 2020-10-30 武汉秒开网络科技有限公司 Method and system for self-service software customization and remote automatic test
CN112925530A (en) * 2021-03-30 2021-06-08 重庆阿克索信息科技有限公司 Cloud and local hybrid deployment service system
CN113434281B (en) * 2021-07-19 2024-05-28 上海幻电信息科技有限公司 Equipment scheduling method and cloud platform
CN116737560B (en) * 2023-06-08 2023-11-21 中国人民解放军陆军航空兵学院 Smart training system based on intelligent guidance and control

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866286A (en) * 2010-04-26 2010-10-20 中国科学院深圳先进技术研究院 A PaaS collaboration system and method based on semantic association
US20100319004A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Policy Management for the Cloud
CN101969475A (en) * 2010-11-15 2011-02-09 张军 Business data controllable distribution and fusion application system based on cloud computing
CN102110021A (en) * 2010-12-08 2011-06-29 浙江大学 Automatic optimization method for cloud computing
US20110231822A1 (en) * 2010-03-19 2011-09-22 Jason Allen Sabin Techniques for validating services for deployment in an intelligent workload management system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310673B2 (en) * 2001-12-21 2007-12-18 Hewlett-Packard Development Company, L.P. Network resource assignment system and method
US9063808B2 (en) * 2008-05-15 2015-06-23 International Business Machines Corporation Deploying a package for a software application
US9069599B2 (en) * 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
WO2010099514A2 (en) * 2009-02-27 2010-09-02 Coach Wei System and method for computer cloud management
US8990813B2 (en) * 2010-03-29 2015-03-24 Red Hat, Inc. Automated virtual machine image deployment and testing by accessing downloadable test packages and dynamically-changing test parameters
US8924791B2 (en) * 2010-08-30 2014-12-30 Hewlett-Packard Development Company, L.P. System including a vendor computer system for testing software products in a cloud network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100319004A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Policy Management for the Cloud
US20110231822A1 (en) * 2010-03-19 2011-09-22 Jason Allen Sabin Techniques for validating services for deployment in an intelligent workload management system
CN101866286A (en) * 2010-04-26 2010-10-20 中国科学院深圳先进技术研究院 A PaaS collaboration system and method based on semantic association
CN101969475A (en) * 2010-11-15 2011-02-09 张军 Business data controllable distribution and fusion application system based on cloud computing
CN102110021A (en) * 2010-12-08 2011-06-29 浙江大学 Automatic optimization method for cloud computing

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881746A (en) * 2015-06-01 2015-09-02 北京圆通慧达管理软件开发有限公司 Platform-as-a-service Paas platform architecture in management information system
CN109075991A (en) * 2016-02-26 2018-12-21 诺基亚通信公司 Cloud verifying and test automation
CN108628612A (en) * 2017-03-24 2018-10-09 埃森哲环球解决方案有限公司 Application management platform
CN109144522A (en) * 2017-06-19 2019-01-04 中兴通讯股份有限公司 Using dispositions method, device, equipment and computer readable storage medium
CN109144522B (en) * 2017-06-19 2023-08-01 中兴通讯股份有限公司 Application deployment method, device, equipment and computer readable storage medium
CN108021502A (en) * 2017-11-20 2018-05-11 广州品唯软件有限公司 Client traffic test method, device and computer-readable recording medium
CN109828898A (en) * 2017-11-23 2019-05-31 财团法人资讯工业策进会 Detection system and detection method
CN111630534A (en) * 2018-01-29 2020-09-04 西门子股份公司 Method for collaborative machine learning of analytical models
CN111630534B (en) * 2018-01-29 2023-11-03 西门子股份公司 Method for collaborative machine learning of analytical models

Also Published As

Publication number Publication date
EP2859460A4 (en) 2016-01-06
EP2859460A1 (en) 2015-04-15
WO2013184137A1 (en) 2013-12-12
US20150100684A1 (en) 2015-04-09

Similar Documents

Publication Publication Date Title
CN104246740A (en) Test and management for cloud applications
CN104254834B (en) Cloud application deployment is portable
US20150199197A1 (en) Version management for applications
US9923952B2 (en) Cloud application deployment
JP6923705B2 (en) Network service design and deployment process for NFV systems
US20150304175A1 (en) Binding of application and infrastructure blueprints
US9350623B2 (en) System and method for automated deployment of multi-component computer environment
US9485151B2 (en) Centralized system management on endpoints of a distributed data processing system
CN107005421B (en) Topology-based management methods, systems and media utilizing stage and version policies
US10284634B2 (en) Closed-loop infrastructure orchestration templates
US20160117161A1 (en) Installing and updating software systems
CN107005422A (en) The management based on topology of operation in second day
Baur et al. Cloud orchestration features: Are tools fit for purpose?
US20160117160A1 (en) Preparing installations and updates for software systems
US20170220324A1 (en) Data communication accelerator system
Dhakate et al. Distributed cloud monitoring using Docker as next generation container virtualization technology
Feuerlicht et al. Adapting service development life-cycle for cloud
Stefanic et al. Application-Infrastructure Co-Programming: managing the entire complex application lifecycle
US20240192974A1 (en) Simulation of one or more pipeline jobs in a software deployment pipeline
Zielińska Framework for Extensible Application Testing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141224