Application deployment engine
First Claim
1. A method comprising:
- receiving, at a processor that executes an application deployment engine, a request for an application;
obtaining, by the processor, network topology data that indicates availability of resources of a data center;
obtaining, by the processor, an application template associated with the application, wherein the application template describes an application flow path associated with the application;
obtaining, by the processor, a running time during which an application placement plan is to be identified from a pool of candidate placement plans;
identifying, by the processor, the application placement plan, wherein the application placement plan comprises an optimal placement of the application at the data center, and wherein identifying the application placement plan comprises determining if half of the running time has expired, and if a determination is made that half of the running time has expired, applying a greedy algorithm to identify a base optimal placement plan for the application, determining a base utilization associated with the base optimal placement plan, and doubling a pruning rate associated with a pruning function; and
generating, by the processor, a command to effect deployment of the application in accordance with the application placement plan.
1 Assignment
0 Petitions
Accused Products
Abstract
Concepts and technologies are disclosed herein for an application deployment engine. A processor that executes an application deployment engine can receive an application request. The processor can obtain network topology data that indicates availability of resources of a data center, an application template associated with the application, and a running time during which an application placement plan is to be identified out of a large number of placement scenarios within the running time. The application template can describe an application flow path associated with the application. The processor can identify the application placement plan, where the application placement plan can include an optimal placement of the application at the data center, before a given running time expires by pruning the large search space. The processor can generate a command to effect deployment of the application in accordance with the application placement plan.
12 Citations
19 Claims
-
1. A method comprising:
-
receiving, at a processor that executes an application deployment engine, a request for an application; obtaining, by the processor, network topology data that indicates availability of resources of a data center; obtaining, by the processor, an application template associated with the application, wherein the application template describes an application flow path associated with the application; obtaining, by the processor, a running time during which an application placement plan is to be identified from a pool of candidate placement plans; identifying, by the processor, the application placement plan, wherein the application placement plan comprises an optimal placement of the application at the data center, and wherein identifying the application placement plan comprises determining if half of the running time has expired, and if a determination is made that half of the running time has expired, applying a greedy algorithm to identify a base optimal placement plan for the application, determining a base utilization associated with the base optimal placement plan, and doubling a pruning rate associated with a pruning function; and generating, by the processor, a command to effect deployment of the application in accordance with the application placement plan. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a processor; and a memory that stores computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising receiving a request for an application, obtaining network topology data that indicates availability of resources of a data center, obtaining an application template associated with the application, wherein the application template describes an application flow path associated with the application, obtaining a running time during which an application placement plan is to be identified from a pool of candidate placement plans, identifying the application placement plan, wherein the application placement plan comprises an optimal placement of the application at the data center, and wherein identifying the application placement plan comprises determining if half of the running time has expired, and if a determination is made that half of the running time has expired, applying a greedy algorithm to identify a base optimal placement plan for the application, determining a base utilization associated with the base optimal placement plan, and doubling a pruning rate associated with a pruning function, and generating a command to effect deployment of the application in accordance with the application placement plan. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause the processor to perform operations comprising:
-
receiving a request for an application; obtaining network topology data that indicates availability of resources of a data center; obtaining an application template associated with the application, wherein the application template describes an application flow path associated with the application; obtaining a running time during which an application placement plan is to be identified from a pool of candidate placement plans; identifying the application placement plan, wherein the application placement plan comprises an optimal placement of the application at the data center, and wherein identifying the application placement plan comprises determining if half of the running time has expired, and if a determination is made that half of the running time has expired, applying a greedy algorithm to identify a base optimal placement plan for the application, determining a base utilization associated with the base optimal placement plan, and doubling a pruning rate associated with a pruning function; and generating a command to effect deployment of the application in accordance with the application placement plan. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification