Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud infrastructure
First Claim
1. A method of deploying an application having application components, the method comprising:
- receiving a selected cloud environment on which to deploy the application;
determining one or more templates used in a blueprint for the application, the one or more templates specifying virtual computing resources for the application, the blueprint specifying a topology having one or more virtual machines, and each of the one or more virtual machines being represented by each of the one or more templates;
retrieving one or more cloud templates for the selected cloud environment that are mapped to the one or more templates of the blueprint, each of the one or more cloud templates defining a virtual machine having specified virtual computing resources;
determining tasks to be executed for deploying the application components of the application based on the one or more cloud templates;
determining one or more dependencies between the application components according to the blueprint;
determining an order of the application components to be deployed based on the one or more dependencies; and
generating a deployment plan for executing the task to deploy the application in the selected cloud environment based on the determined order.
1 Assignment
0 Petitions
Accused Products
Abstract
A deployment system enables a developer to define a logical, multi-tier application blueprint that can be used to create and manage (e.g., redeploy, upgrade, backup, patch) multiple applications in a cloud infrastructure. In the application blueprint, the developer models an overall application architecture, or topology, that includes individual and clustered nodes (e.g., VMs), logical templates, cloud providers, deployment environments, software services, application-specific code, properties, and dependencies between top-tier and second-tier components. The application can be deployed according to the application blueprint, which means any needed VMs are provisioned from the cloud infrastructure, and application components and software services are installed.
137 Citations
16 Claims
-
1. A method of deploying an application having application components, the method comprising:
-
receiving a selected cloud environment on which to deploy the application; determining one or more templates used in a blueprint for the application, the one or more templates specifying virtual computing resources for the application, the blueprint specifying a topology having one or more virtual machines, and each of the one or more virtual machines being represented by each of the one or more templates; retrieving one or more cloud templates for the selected cloud environment that are mapped to the one or more templates of the blueprint, each of the one or more cloud templates defining a virtual machine having specified virtual computing resources; determining tasks to be executed for deploying the application components of the application based on the one or more cloud templates; determining one or more dependencies between the application components according to the blueprint; determining an order of the application components to be deployed based on the one or more dependencies; and generating a deployment plan for executing the task to deploy the application in the selected cloud environment based on the determined order. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, perform operations comprising:
-
receiving a selected cloud environment on which to deploy an application; determining one or more templates used in a blueprint for the application, the one or more templates specifying virtual computing resources for the application, the blueprint specifying a topology having one or more virtual machines, and each of the one or more virtual machines being represented by each of the one or more templates; retrieving one or more cloud templates for the selected cloud environment that are mapped to the one or more templates of the blueprint, each of the one or more cloud templates defining a virtual machine having specified virtual computing resources; determining tasks to be executed for deploying the application components of the application based on cloud templates; determining one or more dependences between the application components according to the blueprint; determining an order of the application components to be deployed based on the one or more dependencies; and generating a deployment plan for executing the tasks to deploy the application in the selected cloud environment based on the determined order. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. The non-transitory computer-readable storage medium of dam 8, wherein the instructions further comprise instructions for:
-
in response to user input, determining cloud computing resources of the selected cloud environment that are mapped to the topology of virtual computing resources; and provisioning the cloud computing resources and according to dependencies defined in the topology.
-
-
15. A computer system for deploying an application having application components, the computer system comprising:
-
a system memory; and a processor programmed to; receive a selected cloud environment on which to deploy the application; determine one or more templates used in a blueprint for the application, the one or more templates specifying virtual computing resources for the application, the blueprint specifying a topology having one or more virtual machines, and each of the one or more virtual machines being represented by each of the one or more templates; retrieve one or more cloud templates for the selected cloud environment that are mapped to the one or more templates of the blueprint, each of the one or more cloud templates defining a virtual machine having specified virtual computing resources; determine tasks to be executed for deploying the application components of the application based on cloud templates; determine one or more dependencies between the application components according to the blueprint; determine an order of the application components to be deployed based on the one or more dependencies; and generate a deployment plan for executing the task to deploy the application in the selected cloud environment based on the determined order. - View Dependent Claims (16)
-
Specification