Systems and methods for adaptive application provisioning
First Claim
1. A method for automatically scaling a number of instances of an application provisioned via a cloud service provider, the method comprising:
- (a) identifying, by a device intermediary to a plurality of clients and a cloud service provider executing a plurality of instances of an application provisioned by the device via the cloud service provider, one or more policies for scaling a number of instances of the application via the cloud service provider, a policy of the one or more policies identifying a predetermined number of instances of the application via the cloud service provider to scale by at least one of provisioning or deprovisioning the predetermined number of instances of the application, and one or more metrics and a threshold for each of the one or more metrics and a predetermined time period for exceeding the threshold;
(b) monitoring, by the device, each of the one or more metrics for the plurality of instances of the application executing via the cloud service provider;
(c) determining, by the device, that each metric of the one or more metrics exceeds each metric'"'"'s threshold for the predetermined time period identified by the policy;
(d) transmitting, by the device automatically responsive to the determination, a request to the cloud service provider to one of provision or deprovision the predetermined number of instances of the application via the cloud service provider in accordance with the policy; and
(e) adjusting, by one or more virtual servers of the device responsive to one of the provision or deprovision of the one or more instances of the application via the cloud service provider, load balancing requests to the application from the plurality of clients across a current number of instances of the application on the cloud service provider.
7 Assignments
0 Petitions
Accused Products
Abstract
The present application is directed towards systems and methods for adaptive application provisioning for cloud services. An appliance deployed in a network as a gateway may be able to transparently monitor application activity in a cloud computing environment provided by one or more servers, including servers executed by virtual machines, bare-metal or non-virtual servers, or other computing devices. In some embodiments, the appliance may monitor one or more network metrics, including bandwidth usage, latency, congestion, or other issues; and/or may monitor application health or server or virtual machine statistics, including memory and processor usage, bandwidth usage, latency, or other metrics. Responsive to one or more metrics exceeding a threshold, the appliance may automatically provision or start, or deprovision or shut down, one or more virtual or physical machines from a cloud service provider, and may provide configuration information to the provisioned or started machines as needed.
28 Citations
20 Claims
-
1. A method for automatically scaling a number of instances of an application provisioned via a cloud service provider, the method comprising:
-
(a) identifying, by a device intermediary to a plurality of clients and a cloud service provider executing a plurality of instances of an application provisioned by the device via the cloud service provider, one or more policies for scaling a number of instances of the application via the cloud service provider, a policy of the one or more policies identifying a predetermined number of instances of the application via the cloud service provider to scale by at least one of provisioning or deprovisioning the predetermined number of instances of the application, and one or more metrics and a threshold for each of the one or more metrics and a predetermined time period for exceeding the threshold; (b) monitoring, by the device, each of the one or more metrics for the plurality of instances of the application executing via the cloud service provider; (c) determining, by the device, that each metric of the one or more metrics exceeds each metric'"'"'s threshold for the predetermined time period identified by the policy; (d) transmitting, by the device automatically responsive to the determination, a request to the cloud service provider to one of provision or deprovision the predetermined number of instances of the application via the cloud service provider in accordance with the policy; and (e) adjusting, by one or more virtual servers of the device responsive to one of the provision or deprovision of the one or more instances of the application via the cloud service provider, load balancing requests to the application from the plurality of clients across a current number of instances of the application on the cloud service provider. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for automatically scaling a number of instances of an application provisioned via a cloud service provider, the system comprising:
-
a device comprising a processor, coupled to memory, and intermediary to a plurality of clients and a cloud service provider executing a plurality of instances of an application provisioned by the device via the cloud service provider; a policy engine comprising one or more policies for scaling a number of instances of the application via the cloud service provider, a policy of the one or more policies identifying a predetermined number of instances of the application on the cloud service provider to scale by at least one of provisioning or deprovisioning the predetermined number of instances of the application and one or more metrics and a threshold for each of the one or more metrics and a predetermined time period for exceeding the threshold; a monitor of the device configured to monitor each of the one or more metrics for the plurality of instances of the application executing via the cloud service provider; wherein the device is configured to determine that each metric of the one or more metrics exceeds each metric'"'"'s threshold for the predetermined time period identified by the policy and to transmit automatically responsive to the determination a request to the cloud service provider to one of provision or deprovision the predetermined number of the application via the cloud service provider in accordance with the policy; and wherein one or more virtual servers of the device are configured to adjust to load balancing requests to the application from the plurality of clients across a current number of instances of the application executing on the cloud service provider responsive to one of the provision or deprovision of the one or more instances of the application. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification