Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
First Claim
1. A method of deploying an application in a cloud environment having virtual computing resources, the method comprising:
- generating a topology of an application comprised of virtual computing resources and application components selected from a catalog of pre-defined software components available in a cloud environment in response to items assembled from the catalog using a canvas-based graphical user interface (GUI);
providing, by a deployment director, to each virtual computing resource in the cloud environment, a local deployment plan having a plurality of tasks to be executed in connection with deploying the application;
receiving, by the deployment director from a deployment agent of a first virtual computing resource, a timing request to execute a first task from a first local deployment plan of a plurality of local deployment plans provided to the respective virtual computing resources in the first virtual computing resource;
determining, by the deployment director, that the first task is dependent upon a second task from a second local deployment plan of the plurality of local deployment plans executing in a second virtual computing resource according to the generated topology, wherein the first task is configured to deploy an application component on the first virtual computing resource;
responsive to determining that the second task is completed, sending to the deployment director at least one configuration property value generated during execution of the second task and used in execution of the first task on the first virtual computing resource according to the catalog;
responsive to expiry of a task timer corresponding to the second task being executed by the second virtual computing resource and to determining that the second virtual computing resource has not reported status, updating a state of deployment associated with the second virtual computing resource based on the failure of the deployment agent of the second virtual computing resource; and
transmitting, by the deployment director, the at least one configuration property value and a timing response to the first virtual computing resource indicating that the first task may proceed with execution.
2 Assignments
0 Petitions
Accused Products
Abstract
A deployment system orchestrates execution of deployment plan in coordination with nodes participating in deployment of a multi-tier application in a cloud infrastructure. The deployment system distributes local deployment plans to each node and maintains a centralized state of deployment time dependencies between tasks in different local deployment plans. Prior to execution of each task, deployment agents executing on each node communicates with the centralized deployment system to check whether any deployment time dependencies need to be resolved. Additionally, the deployment system utilizes a node task timer that triggers a heartbeat mechanism for monitoring failure of deployment agents.
150 Citations
18 Claims
-
1. A method of deploying an application in a cloud environment having virtual computing resources, the method comprising:
-
generating a topology of an application comprised of virtual computing resources and application components selected from a catalog of pre-defined software components available in a cloud environment in response to items assembled from the catalog using a canvas-based graphical user interface (GUI); providing, by a deployment director, to each virtual computing resource in the cloud environment, a local deployment plan having a plurality of tasks to be executed in connection with deploying the application; receiving, by the deployment director from a deployment agent of a first virtual computing resource, a timing request to execute a first task from a first local deployment plan of a plurality of local deployment plans provided to the respective virtual computing resources in the first virtual computing resource; determining, by the deployment director, that the first task is dependent upon a second task from a second local deployment plan of the plurality of local deployment plans executing in a second virtual computing resource according to the generated topology, wherein the first task is configured to deploy an application component on the first virtual computing resource; responsive to determining that the second task is completed, sending to the deployment director at least one configuration property value generated during execution of the second task and used in execution of the first task on the first virtual computing resource according to the catalog; responsive to expiry of a task timer corresponding to the second task being executed by the second virtual computing resource and to determining that the second virtual computing resource has not reported status, updating a state of deployment associated with the second virtual computing resource based on the failure of the deployment agent of the second virtual computing resource; and transmitting, by the deployment director, the at least one configuration property value and a timing response to the first virtual computing resource indicating that the first task may proceed with execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, deploy an application in a cloud environment having virtual computing resources, by performing the steps of:
-
generating a topology of an application comprised of virtual computing resources and application components selected from a catalog of pre-defined software components available in a cloud environment in response to items assembled from the catalog using a canvas-based graphical user interface (GUI); providing, by a deployment director, to each virtual computing resource in the cloud environment, a local deployment plan having a plurality of tasks to be executed in connection with deploying the application; receiving, by the deployment director from a deployment agent of a first virtual computing resource, a timing request to execute a first task from a first local deployment plan of a plurality of local deployment plans provided to the respective virtual computing resources in the first virtual computing resource; determining, by the deployment director, that the first task is dependent upon a second task from a second local deployment plan of the plurality of local deployment plans executing in a second virtual computing resource according to the generated topology, wherein the first task is configured to deploy an application component on the first virtual computing resource; responsive to determining that the second task is completed, sending to the deployment director at least one configuration property value generated during execution of the second task and used in execution of the first task on the first virtual computing resource according to the catalog; responsive to expiry of a task timer corresponding to the second task being executed by the second virtual computing resource and to determining that the second virtual computing resource has not reported status, updating a state of deployment associated with the second virtual computing resource based on the failure of the deployment agent of the second virtual computing resource; and transmitting, by the deployment director, the at least one configuration property value and a timing response to the first virtual computing resource indicating that the first task may proceed with execution. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer system for deploying an application in a cloud environment having virtual computing resources, the computer system comprising a system memory and a processor programmed to carry out the steps of:
-
generating a topology of an application comprised of virtual computing resources and application components selected from a catalog of pre-defined software components available in a cloud environment in response to items assembled from the catalog using a canvas-based graphical user interface (GUI); providing, by a deployment director, to each virtual computing resource in the cloud environment, a local deployment plan having a plurality of tasks to be executed in connection with deploying the application; receiving, by the deployment director from a deployment agent of a first virtual computing resource, a timing request to execute a first task from a first local deployment plan of a plurality of local deployment plans provided to the respective virtual computing resources in the first virtual computing resource; determining, by the deployment director, that the first task is dependent upon a second task from a second local deployment plan of the plurality of local deployment plans executing in a second virtual computing resource according to the generated topology, wherein the first task is configured to deploy an application component on the first virtual computing resource; responsive to determining that the second task is completed, sending to the deployment director at least one configuration property value generated during execution of the second task and used in execution of the first task on the first virtual computing resource according to the catalog; responsive to expiry of a task timer corresponding to the second task being executed by the second virtual computing resource and to determining that the second virtual computing resource has not reported status, updating a state of deployment associated with the second virtual computing resource based on the failure of the deployment agent of the second virtual computing resource; and transmitting, by the deployment director, the at least one configuration property value and a timing response to the first virtual computing resource indicating that the first task may proceed with execution. - View Dependent Claims (18)
-
Specification