Cost optimization of cloud computing resources
First Claim
1. A system for managing cloud compute resources, the system comprising:
- at least one processor operatively connected to a memory, the at least one processor when executing configured to;
analyze historical time series of cloud compute resource (“
resource”
) characteristics, including at least cost and availability of the cloud compute resources, for one or more resource types from one or more cloud compute providers (“
providers”
);
model future resource characteristics for executing subsequent tasks responsive to analysis of the historical time series data;
predict one or more resource characteristics including at least resource availability over a future time duration at the one or more cloud compute providers required for executing a submitted compute task based on the model;
allocate terminable cloud compute resources to the submitted compute task and trigger execution of the submitted compute task;
at least one application program interface (API) configured to;
monitor resource characteristics of the terminable cloud compute resources and for the one or more resource types assigned to execute the submitted compute task from the one or more cloud compute providers;
update during the execution period predictions for one or more resource characteristics for remaining portions of the future time duration; and
update the historical time series of resource characteristics data with the monitored resource characteristics and update the model, including associated predictions of the one or more resource characteristics for determining re-allocation of execution resources of the compute task at one or more of the cloud compute providers; and
wherein the at least one processor is further configured to schedule or trigger execution of preservation operations in response to a likelihood of termination of the terminable resources exceeding a threshold value.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for managing and/or executing cloud compute instances that may be pre-empted by their providers, known in at least one provider as “spot instances”. Various aspects manage early termination (i.e., before customer deallocation or compute task completion) of spot instances, enabling improved utilization, and increasing reliability of executing tasks on spot instances. In some embodiments, systems and/or methods are provided for prediction of when spot instance kills are likely to occur. These systems and/or methods can gracefully handle spot kills issued by Providers (e.g., trigger preservation operations), trigger transitions to spot instances at another Provider, trigger increased bidding to preserve current spot instances, and/or trigger a premium payment to allow for execution of preservation operations, among other options. Other embodiments enable customers to directly manage instance kill operations (e.g., a customer or a customer'"'"'s program selects instances to terminate via a UI or API, etc.).
53 Citations
19 Claims
-
1. A system for managing cloud compute resources, the system comprising:
-
at least one processor operatively connected to a memory, the at least one processor when executing configured to; analyze historical time series of cloud compute resource (“
resource”
) characteristics, including at least cost and availability of the cloud compute resources, for one or more resource types from one or more cloud compute providers (“
providers”
);model future resource characteristics for executing subsequent tasks responsive to analysis of the historical time series data; predict one or more resource characteristics including at least resource availability over a future time duration at the one or more cloud compute providers required for executing a submitted compute task based on the model; allocate terminable cloud compute resources to the submitted compute task and trigger execution of the submitted compute task; at least one application program interface (API) configured to; monitor resource characteristics of the terminable cloud compute resources and for the one or more resource types assigned to execute the submitted compute task from the one or more cloud compute providers; update during the execution period predictions for one or more resource characteristics for remaining portions of the future time duration; and update the historical time series of resource characteristics data with the monitored resource characteristics and update the model, including associated predictions of the one or more resource characteristics for determining re-allocation of execution resources of the compute task at one or more of the cloud compute providers; and wherein the at least one processor is further configured to schedule or trigger execution of preservation operations in response to a likelihood of termination of the terminable resources exceeding a threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for managing cloud compute resources, the method comprising:
-
analyzing historical time series of cloud compute resource (“
resource”
) characteristics, including at least cost and availability, for one or more resource types from one or more cloud compute providers by at least one application program interface (API);model future resource characteristics for executing subsequent tasks responsive to analysis of the historical time series data; predicting, by a computer system, one or more resource characteristics over a future time duration the one or more resource characteristics define parameters for executing a submitted compute task at the one or more cloud compute providers; allocate terminable cloud compute resources to the submitted compute task and trigger execution of the submitted compute task; monitoring, by at least one API, resource characteristics for the one or more resource types from the one or more cloud compute providers during execution of the submitted compute task; updating, by the at least one API, during an execution period predictions for one or more resource characteristics for remaining portions of the future time duration responsive to analysis the monitored resource characteristics; and updating, by the at least one API, the historical time series of resource characteristics data with the monitored resource characteristics and update the model including associated predictions of the one or more resource characteristics for determining re-allocation of execution resources of the compute task at one or more of the cloud compute providers; and wherein the method further comprises scheduling or triggering execution of preservation operations in response to a likelihood of termination of the terminable resources exceeding a threshold value. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification