Intelligent autoscale of services
First Claim
1. A method of performing an autoscale operation to adjust a set of target-application servers that receive data message flows from a set of clients through a plurality of service engines, the service engines maintaining operational data regarding the data message flows forwarded by the service engines to the set of servers, the method comprising:
- collecting, from the plurality of service engines, operational data associated with a set of target-application servers to which the plurality of service engines forwards data message flows;
calculating an expected load on the set of target-application servers based on the collected operational data;
calculating an expected operational capacity of the set of target-application servers based on capacity data received at the plurality of service engines in headers of data messages from the set of target-application servers processed by the plurality of service engines;
based at least in part on the calculated expected load and capacity, determining that an autoscale operation is to be performed to add one or more additional target-application servers to, or remove one or more target-application servers from, the set of target-application servers; and
performing the autoscale operation.
3 Assignments
0 Petitions
Accused Products
Abstract
Autoscaling comprises: accessing operational data associated with a pool of servers; determining an expected load associated with a service provided by the pool of servers based at least in part on the operational data; determining an estimated capacity associated with the service provided by the pool of servers; determining that an autoscale operation is to be performed based at least in part on the expected load and the estimated capacity, wherein the autoscale operation automatically scales out one or more additional servers or automatically scales in one or more servers in the pool of servers; and performing the autoscale operation.
128 Citations
20 Claims
-
1. A method of performing an autoscale operation to adjust a set of target-application servers that receive data message flows from a set of clients through a plurality of service engines, the service engines maintaining operational data regarding the data message flows forwarded by the service engines to the set of servers, the method comprising:
-
collecting, from the plurality of service engines, operational data associated with a set of target-application servers to which the plurality of service engines forwards data message flows; calculating an expected load on the set of target-application servers based on the collected operational data; calculating an expected operational capacity of the set of target-application servers based on capacity data received at the plurality of service engines in headers of data messages from the set of target-application servers processed by the plurality of service engines; based at least in part on the calculated expected load and capacity, determining that an autoscale operation is to be performed to add one or more additional target-application servers to, or remove one or more target-application servers from, the set of target-application servers; and performing the autoscale operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for performing an autoscale operation to adjust a set of target-application servers that receive data message flows from a set of clients through a plurality of service engines, the service engines maintaining operational data regarding the data message flows forwarded by the service engines to the set of servers, the program comprising a set of instructions for:
-
collecting, from the plurality of service engines, operational data associated with a set of target-application servers to which the plurality of service engines forwards data message flows; using previously collected operational data to calculate a variance in a load value expressing the load on the set of target-application servers; using the calculated variance to calculate an expected load on the set of target-application servers; calculating an expected operational capacity of the set of target-application servers; based at least in part on the calculated expected load and capacity, determining that an autoscale operation is to be performed to add one or more additional target-application servers to, or remove one or more target-application servers from, the set of target-application servers; and performing the autoscale operation. - View Dependent Claims (15, 16, 20)
-
-
17. An autoscaling system for performing an autoscale operation to adjust a set of target-application servers that receive data message flows from a set of clients through a plurality of service engines, the service engines maintaining operational data regarding the data message flows forwarded by the service engines to the set of servers, comprising:
a non-transitory machine readable medium storing a program for execution by a set of processing units, the program comprising sets of instructions for; collecting, from the plurality of service engines, operational data associated with a set of target-application servers to which the plurality of service engines forwards data message flows; calculating an expected load on the set of target-application servers based on the collected operational data; calculating an expected operational capacity of the set of target-application servers based on capacity data received at the plurality of service engines in headers of data messages from the set of target-application servers processed by the plurality of service engines; based at least in part on the calculated expected load and capacity, determining that an autoscale operation is to be performed to add one or more additional target-application servers to, or remove one or more target-application servers from, the set of target-application servers; and performing the autoscale operation. - View Dependent Claims (18, 19)
Specification