Cloud-based resource throttling prediction
Embodiments herein relate to prediction, based on previous usage of a cloud-based computing resource by a user of one or more users of the cloud-based computing resource, future usage of the cloud-based computing resource. Based on the predicted future usage, embodiments relate to identifying that throttling of access to the cloud-based computing resource is to occur, and notifying the user of the throttling. Other embodiments may be described and/or claimed.
1 . One or more non-transitory machine-readable storage media having program instructions stored thereon that are capable of causing a computer system to perform operations comprising:
detecting that a first current usage of a cloud-based computing resource by a user of one or more users that utilize the cloud-based computing resource satisfies an initial threshold;
based on the detecting that the first current usage satisfies the initial threshold, predicting, using a neural network and based on previous usage of the cloud-based computing resource by the user, future usage of the cloud-based computing resource by the user;
identifying, based on the predicted future usage of the cloud-based computing resource satisfying a throttle threshold for a first period of time, that throttling of the user's access to the cloud-based computing resource is to occur; and
before the throttling of the user's access, notifying the user that the throttling is to occur; and
after the notifying the user and based on a detection that a second current usage of the cloud-based computing resource by the user satisfies the throttle threshold for the first period of time, throttling the user's access to the cloud-based computing resource by limiting a number of requests processed for the user within a second period of time.
2 . The one or more non-transitory machine-readable storage media of claim 1 , wherein the cloud-based computing resource is a resource of a database (DB) server.
3 . The one or more non-transitory machine-readable storage media of claim 1 , wherein the throttle threshold is a pre-defined threshold.
4 . The one or more non-transitory machine-readable storage media of claim 1 , wherein the throttle threshold is a dynamic threshold.
5 . The one or more non-transitory machine-readable storage media of claim 1 , wherein the throttle threshold is a dynamic value related to a future level of usage of the resource by a plurality of users that includes the user.
6 . The one or more non-transitory machine-readable storage media of claim 1 , wherein the throttle threshold is based on a comparison of the user's predicted future usage to a predicted total usage by a plurality of users that includes the user.
7 . An article of manufacture comprising:
one or more processors operable to implement a neural network; and
a non-transitory machine-readable storage medium having program instructions stored thereon that are executable by the one or more processors to perform operations comprising:
identifying a plurality of sets of data related to usage of a cloud-based computing resource, wherein a set of data of the plurality of sets of data includes:
an indication of an amount of usage of the cloud-based computing resource at a first historical time; and
an indication of an amount of usage of the cloud-based computing resource at a second historical time that is after the first historical time;
generating, based on the plurality of sets of data, a model configured to predict future usage of the cloud-based computing resource based on previous usage of the cloud-based computing resource; and
detecting that a first current usage of the cloud-based computing resource by a user satisfies an initial threshold;
based on the detecting that the first current usage satisfies the initial threshold, predicting, using the model and based on previous usage of the cloud-based computing resource by the user, future usage of the cloud-based computing resource by the user;
identifying, based on the predicted future usage by the user satisfying a throttle threshold for a first period of time, that throttling of the user's access to the cloud-based computing resource is to occur; and
before the throttling of the user's access, notifying the user that the throttling is to occur; and
after the notifying the user and based on a detection that a second current usage of the cloud-based computing resource by the user satisfies the throttle threshold for the first period of time, throttling the user's access to the cloud-based computing resource by limiting a number of requests processed for the user within a second period of time.
8 . The article of claim 7 , wherein the cloud-based computing resource is a resource of a database (DB) server.
9 . The article of claim 7 , wherein the throttle threshold is a pre-defined threshold.
10 . The article of claim 7 , wherein the throttle threshold is a dynamic threshold.
11 . The article of claim 7 , wherein the throttle threshold is a dynamic value related to a future level of usage of the resource by a plurality of users that includes the user.
12 . The article of claim 7 , wherein the throttle threshold is based on a comparison of the user's predicted future usage to a predicted total usage by a plurality of users that includes the user.
13 . An electronic device comprising:
one more processors; and
one or more non-transitory machine-readable storage medium having program instructions stored thereon that are executable by the one or more processors to cause the electronic device to perform operations comprising:
detecting that a first current usage of a resource of a database server by a user satisfies an initial threshold;
based on the detecting that the first current usage satisfies the initial threshold, predicting, using a neural network and based on previous usage of the resource by the user, future usage of the resource by the user;
identifying, based on the predicted future usage satisfying a throttle threshold for a first period of time, that the user's access to the resource is to be throttled at a future time;
providing, to the user based on the identifying, an indication that the user's access to the resource is to be throttled at the future time; and
after the providing of the indication to the user and based on a detection that a second current usage of the resource by the user satisfies the throttle threshold at the future time, throttling the user's access to the resource by limiting a number of requests processed for the user within a period of time.
14 . The electronic device of claim 13 , wherein the throttle threshold is a pre-defined value.
15 . The electronic device of claim 13 , wherein the throttle threshold is based on a comparison of the user's predicted future usage to total usage capacity of the resource.
16 . The electronic device of claim 13 , wherein the throttle threshold is a dynamic value related to a future level of usage of the resource by a plurality of users that includes the user.
17 . The electronic device of claim 13 , wherein the throttle threshold is based on a comparison of the user's predicted future usage to a predicted total usage by a plurality of users that includes the user.