Elasticity for highly available applications
AssigneeTelefonaktiebolaget LM Ericsson (publ)
InventorsHassan Hawilo, Ali Kanso
Life of this patent
Estimating the term…
Abstract
Cloud computing is continuously growing as a business model for hosting information and communications technology applications. While the on-demand resource consumption and faster deployment time make this model appealing for the enterprise, other concerns arise regarding the quality of service offered by the cloud. The placement strategy of the virtual machines hosting the applications has a tremendous effect on the High Availability of the services provided by these applications hosted in the cloud. Systems and methods for scaling a virtualized application that take into consideration the interdependencies between the components of the applications and other constraints such as the communication delay tolerance and resource utilization are provided.
Claims17
A method for scaling an application, the method comprising:
- monitoring a workload associated with an application, the application comprising a plurality of component types and at least one deployed instance of each of the component types, the application combining functionality of the component types to provide a service;
- determining that an instance of a first component type requires an increased number of instances;
- identifying dependencies between the deployed instances of each of the component types and a new instance of the first component type to be added;
- obtaining a first logical distance metric defining a maximum allowable network delay between instances of the first component type and a second logical distance metric defining a maximum allowable network delay between the instance of the first component type and an instance of a second component type, wherein the instance of the second component type is dependent on the instance of the first component type;
- determining a network zone for server selection in accordance with the first logical distance metric and the second logical distance metric;
- selecting a server from a list of candidate servers at different locations in accordance with the network zone;
- and
- instantiating the new instance of the first component type on the selected server.
A cloud manager comprising circuitry including a processor and a memory, the memory containing instructions executed by the processor to:
- monitor a workload associated with an application, the application comprising a plurality of component types and at least one deployed instance of each of the component types, the application combining functionality of the component types to provide a service;
- determine that an instance of a first component type requires an increased number of instances;
- identify dependencies between the deployed instances of each of the component types and a new instance of the first component type to be added;
- obtain a first logical distance metric defining a maximum allowable network delay between instances of the first component type and a second logical distance metric defining a maximum allowable network delay between the instance of the first component type and an instance of a second component type, wherein the instance of the second component type is dependent on the instance of the first component type;
- determine a network zone for server selection in accordance with the first logical distance metric and the second logical distance metric;
- select a server from a list of candidate servers at different locations in accordance with the network zone;
- and
- instantiate the new instance of the first component type on the selected server.
A non-transitory computer readable storage medium storing executable instructions executed by a processor to:
- monitor a workload associated with an application, the application comprising a plurality of component types and at least one deployed instance of each of the component types, the application combining functionality of the component types to provide a service;
- determine that an instance of a first component type requires an increased number of instances;
- identify dependencies between the deployed instances of each of the component types and a new instance of the first component type to be added;
- obtain a first logical distance metric defining a maximum allowable network delay between instances of the first component type and a second logical distance metric defining a maximum allowable network delay between the instance of the first component type and an instance of a second component type, wherein the instance of the second component type is dependent on the instance of the first component type;
- determine a network zone for server selection in accordance with the first logical distance metric and the second logical distance metric;
- select a server from a list of candidate servers at different locations in accordance with the network zone;
- and
- instantiate the new instance of the first component type on the selected server.
Dependencies are inferred from the claim text.