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.
Abstract:
The concepts and technologies disclosed herein are directed to a policy-driven homing service system that can receive, from a master service orchestrator, a demand specifying a service component to be used to provide, at least in part, a service. The system can receive, from a policy system, a homing constraint. The system can determine, for the demand, an initial set of all potential candidates. The system can apply the homing constraint to each potential candidate in the initial set of all potential candidates. The system can determine a resultant set of potential solutions that satisfy the homing constraint. The system can determine a best solution from the resultant set of potential solutions. The system can send the best solution to the master service orchestrator, which instantiates the demand based upon the best solution.
Abstract:
A method includes, for components of an application, identifying a plurality of groups including a first group and a second group, The method also includes nesting the first group into the second group to create a nested group, based at least on a level of the first group not exceeding a level of the second group. The method includes deploying the application by placing the components of the nested group within a network in accordance with a restriction of the nested group. The components include at least one virtual machine.
Abstract:
The present disclosure relates to dynamically allocating multitier applications based upon performance and reliability of resources. A controller analyzes resources and applications hosted by the resources, and collects operational data relating to the applications and resources. The controller is configured to determine an allocation scheme for allocating or reallocating the applications upon failure of a resource and/or upon rollout or distribution of a new application. The controller generates configuration data that describes steps for implementing the allocation scheme. The resources are monitored, in some embodiments, by monitoring devices. The monitoring devices collect and report the operational information and generate alarms if resources fail.