Cloud Compute Instance Allocation for Cost and Usage Commitments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing platforms face challenges in optimizing resource utilization due to static pricing models and lack of user-specific and application-specific resource allocation, leading to overprovisioning or underutilization, especially for enterprise customers with diverse internal user demands.
Innovation Solution
A customer account management system classifies compute tasks and instances based on their features, establishes correlation rules, and optimizes resource allocation to minimize costs by prioritizing critical tasks during peak times and shifting non-critical tasks to off-peak times, ensuring resource usage stays within committed limits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If enterprise customers sign up for low-price offers with committed hourly usage, then cost is reduced, but resource utilization efficiency deteriorates due to overprovisioning during off-peak times
Solution Approach 1:
The system dynamically adjusts resource allocation based on real-time demand patterns and task priorities. Instead of static committed usage, the system flexibly provisions resources during peak times and releases them during off-peak times, allowing customers to maintain low committed usage while achieving high utilization when needed.
Solution Approach 2:
The system changes the parameter of resource allocation from fixed committed hours to variable allocation based on task priority levels and time-of-day patterns. Critical tasks receive guaranteed resources regardless of time, while non-critical tasks are scheduled during off-peak periods when committed resources are available, optimizing both cost and utilization.
2Reliability
If resources are allocated to meet peak demand, then service reliability is improved, but cost increases due to paying for committed usage during off-peak times
Solution Approach 1:
The system segments tasks into priority levels (critical, important, non-critical) and allocates resources accordingly. Critical tasks are guaranteed resources at all times ensuring reliability, while non-critical tasks utilize available committed resources during off-peak periods without additional cost, effectively separating reliability requirements from cost optimization.
Solution Approach 2:
The system continuously monitors resource usage patterns, task completion status, and demand fluctuations. Based on this feedback, it dynamically adjusts scheduling decisions to ensure critical tasks always have resources available while maximizing utilization of committed resources during off-peak times, maintaining reliability without unnecessary cost.
3Ease of operation
If static pricing models are used, then pricing simplicity is maintained, but resource optimization capability deteriorates due to lack of user-specific allocation
Solution Approach 1:
The system automatically performs resource optimization without requiring complex user configuration. It self-adjusts resource allocation based on monitored task priorities and usage patterns, maintaining simple pricing for customers while achieving sophisticated optimization internally through automated scheduling and priority-based allocation.
Solution Approach 2:
The system introduces an intermediary scheduling layer between the static pricing model and actual resource usage. This intermediary automatically translates simple committed usage into optimized resource allocation by scheduling tasks based on priority and time patterns, preserving pricing simplicity while enabling advanced optimization.
4Speed
If compute tasks are executed immediately upon request, then task completion speed is improved, but resource waste increases due to lack of scheduling optimization
Solution Approach 1:
The system performs preliminary classification and scheduling of tasks based on their priority levels before execution. Critical tasks are immediately allocated resources and executed, while non-critical tasks are scheduled for off-peak periods when resources are available, ensuring fast completion for urgent tasks while optimizing overall resource utilization.
Solution Approach 2:
The system implements periodic scheduling where task execution timing is determined by both priority level and time-of-day patterns. Critical tasks execute immediately regardless of time, while non-critical tasks are periodically scheduled during off-peak periods, balancing speed requirements with resource optimization across different time periods.
Data Source
AI summary
Systems, devices, and methods related to managing cloud compute instances are provided. An example method includes: receiving a request for performing a compute task on a cloud computing platform, from a user associated with the customer account, identifying a predetermined class for the compute task based on one or more features of the compute task, identifying one or more classes of compute instances correlating to the compute task, based on a predetermined correlation rule, performing a cost optimization process to determine one or more compute instances from one class of the identified classes for the requested compute task, the one or more compute instances having a lowest total cost among the compute instances of the identified classes, and determining availability of the compute instances having the lowest total cost on the cloud computing platform.


