Application deployment engine
First Claim
1. A method comprising:
- receiving, at a processor, 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 resources used by the application and an application flow path associated with the application;
obtaining, by the processor, a running time during which an optimal placement plan is to be identified from a pool of candidate placement plans;
identifying, by the processor and based on the application template and the network topology data, a candidate placement plan from the pool of candidate placement plans;
determining, by the processor, if the candidate placement plan places all components of the application; and
if a determination is made that the candidate placement plan places all components of the application,outputting, by the processor, the candidate placement plan as the optimal placement plan, andgenerating, by the processor, a command to effect deployment of the application in accordance with the optimal 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.
13 Citations
20 Claims
-
1. A method comprising:
-
receiving, at a processor, 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 resources used by the application and an application flow path associated with the application; obtaining, by the processor, a running time during which an optimal placement plan is to be identified from a pool of candidate placement plans; identifying, by the processor and based on the application template and the network topology data, a candidate placement plan from the pool of candidate placement plans; determining, by the processor, if the candidate placement plan places all components of the application; and if a determination is made that the candidate placement plan places all components of the application, outputting, by the processor, the candidate placement plan as the optimal placement plan, and generating, by the processor, a command to effect deployment of the application in accordance with the optimal placement plan. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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 resources used by the application and an application flow path associated with the application, obtaining a running time during which an optimal placement plan is to be identified from a pool of candidate placement plans, identifying, based on the application template and the network topology data, a candidate placement plan from the pool of candidate placement plans, determining if the candidate placement plan places all components of the application, and if a determination is made that the candidate placement plan places all components of the application, outputting the candidate placement plan as the optimal placement plan, and generating a command to effect deployment of the application in accordance with the optimal placement plan. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. 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 resources used by the application and an application flow path associated with the application; obtaining a running time during which an optimal placement plan is to be identified from a pool of candidate placement plans; identifying, based on the application template and the network topology data, a candidate placement plan from the pool of candidate placement plans; determining if the candidate placement plan places all components of the application; and if a determination is made that the candidate placement plan places all components of the application, outputting the candidate placement plan as the optimal placement plan, and generating a command to effect deployment of the application in accordance with the optimal placement plan. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification