System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
First Claim
1. A method of managing a deployment of an application in a cloud environment having virtual computing resources, the method comprising:
- creating a virtual machine in the cloud environment based on a deployment plan, wherein an application director is external to the cloud environment;
receiving, by the application director, an application blueprint that specifies the virtual machine and three or more application components of the application, and defines a topology of the three or more application components to execute on the virtual machine, the topology specifying one or more explicit dependencies between application components on different virtual machines and one or more implicit dependencies between the three or more application components, wherein the one or more implicit dependencies are based on nested or layered relationships between the three or more application components, and wherein the one or more explicit dependencies and the one or more implicit dependencies indicate a deployment order during execution of tasks of the deployment plan of the application components onto the virtual machine;
determining, by the application director, tasks for the application components to be executed for deploying the application components on the virtual machine;
instantiating the virtual machine in the cloud environment according to the application blueprint;
establishing a communication with a deployment director contained within the application director;
receiving, from the virtual machine, a request for an application package containing a deployment agent from the deployment director, wherein the deployment agent includes configurations specific to the virtual machine;
transmitting, by the deployment director, the application package to the virtual machine responsive to receiving the request for the application package;
establishing encrypted communication with the deployment agent using the configurations and receiving a request from the deployment agent;
authenticating, by the deployment director, the virtual machine based on the received request from the deployment agent using the configurations;
generating, by the deployment director, a secure file based on the authentication and transmitting the secure file to the deployment agent;
receiving a status of the virtual machine from the deployment agent;
executing, by the application director, the tasks according to the deployment plan;
deploying the application components onto the virtual machine; and
executing the deployed application components on the virtual machine.
1 Assignment
0 Petitions
Accused Products
Abstract
A deployment system enables a developer to generate a deployment plan according to a logical, multi-tier application blueprint defined by application architects. The deployment plan includes tasks to be executed for deploying application components on virtual computing resource provided in a cloud infrastructure. The deployment plan includes time dependencies that determine an execution order of the tasks according to dependencies between application components specified in the application blueprint. The deployment plan enables system administrators to view the application blueprint as an ordered workflow view that facilitates collaboration between system administrators and application architects.
169 Citations
20 Claims
-
1. A method of managing a deployment of an application in a cloud environment having virtual computing resources, the method comprising:
-
creating a virtual machine in the cloud environment based on a deployment plan, wherein an application director is external to the cloud environment; receiving, by the application director, an application blueprint that specifies the virtual machine and three or more application components of the application, and defines a topology of the three or more application components to execute on the virtual machine, the topology specifying one or more explicit dependencies between application components on different virtual machines and one or more implicit dependencies between the three or more application components, wherein the one or more implicit dependencies are based on nested or layered relationships between the three or more application components, and wherein the one or more explicit dependencies and the one or more implicit dependencies indicate a deployment order during execution of tasks of the deployment plan of the application components onto the virtual machine; determining, by the application director, tasks for the application components to be executed for deploying the application components on the virtual machine; instantiating the virtual machine in the cloud environment according to the application blueprint; establishing a communication with a deployment director contained within the application director; receiving, from the virtual machine, a request for an application package containing a deployment agent from the deployment director, wherein the deployment agent includes configurations specific to the virtual machine; transmitting, by the deployment director, the application package to the virtual machine responsive to receiving the request for the application package; establishing encrypted communication with the deployment agent using the configurations and receiving a request from the deployment agent; authenticating, by the deployment director, the virtual machine based on the received request from the deployment agent using the configurations; generating, by the deployment director, a secure file based on the authentication and transmitting the secure file to the deployment agent; receiving a status of the virtual machine from the deployment agent; executing, by the application director, the tasks according to the deployment plan; deploying the application components onto the virtual machine; and executing the deployed application components on the virtual machine. - 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 the steps of:
-
creating a virtual machine in a cloud environment based on a deployment plan, wherein an application director is external to the cloud environment; receiving an application blueprint that specifies virtual computing resources and three or more application components of the application, and defines a topology of the application components to execute on the virtual computing resources, the topology specifying one or more explicit dependencies between application components on different virtual computing resources and one or more implicit dependencies between the three or more application components on a same virtual computing resource, wherein the one or more implicit dependencies are based on nested or layered relationships between the three or more application components, and wherein the one or more explicit dependencies and the one or more implicit dependencies indicate order of the application components into the virtual computing resource; determining tasks for the application components to be executed for deploying the application components on the virtual computing resources; establishing a communication with a deployment director contained within the application director; receiving, from the virtual machine, a request for an application package containing a deployment agent, wherein the deployment agent including configurations specific to the virtual machine; transmitting the application package to the virtual machine responsive to receiving the request for the application package; establishing encrypted communication with the deployment agent using the configurations and receiving a request from the deployment agent authenticating the virtual machine based on the received request from the deployment agent using the configurations; generating a secure file based on the authentication and transmitting the secure file to the deployment agent; receiving a status of the virtual machine from the deployment agent executing the tasks according to the deployment order; deploying the application components onto the virtual computing resources; and executing the deployed application components on the virtual computing resources. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system for managing deployment of 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:
-
creating a virtual machine in the cloud environment based on a deployment plan, wherein an application director is external to the cloud environment; receiving an application blueprint that specifies virtual computing resources and three or more application components of the application, and defines a topology of the three or more application components to execute on the virtual computing resources, the topology specifying one or more explicit dependencies between application components on different virtual computing resources and one or more implicit dependencies between the three or more application components, wherein the one or more implicit dependencies are based on nested or layered relationships between the three or more application components, and wherein the one or more explicit dependencies and the one or more implicit dependencies indicate a deployment order of the application components onto the virtual computing resources; determining tasks for the application components to be executed for deploying the application components on the virtual computing resources; establishing a communication with a deployment director contained within the application director; receiving, from the virtual machine, a request for an application package containing a deployment agent, wherein the deployment agent including configurations specific to the virtual machine; transmitting the application package to the virtual machine responsive to receiving the request for the application package; establishing encrypted communication with the deployment agent using the configurations and receiving a request from the deployment agent; authenticating the virtual machine based on the received request from the deployment agent using the configurations; generating a secure file based on the authentication and transmitting the secure file to the deployment agent; receiving a status of the virtual machine from the deployment agent; executing the tasks according to the deployment order; deploying the application components onto the virtual computing resources; and executing the deployed three or more application components on the virtual computing resources. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification