Hybrid Auto-Scaling for Microservice Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing platforms face challenges in optimizing computing resources to balance financial cost and Quality-of-Service (QoS) requirements, particularly for computationally intensive applications with unpredictable workloads, as existing auto-scaling methods struggle with accurate resource prediction and noise filtering.

Innovation Solution

A hybrid proactive-reactive auto-scaling approach that uses both predictive and reactive methodologies, leveraging resource consumption data from earlier stages of a pipeline to anticipate and adjust computing resources at later stages, ensuring optimal resource allocation and minimizing waste or QoS violations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If reactive auto-scaling with static thresholds is used, then the system responds to current workload state, but the scaling decision is delayed until threshold is exceeded

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidscaling response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by predicting future workload demands using forecasting algorithms before the actual demand occurs. This allows resources to be provisioned in advance, eliminating the delay inherent in reactive threshold-based scaling while ensuring QoS requirements are met when the workload actually arrives.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring current workload metrics and comparing them against predicted future demands. This feedback loop enables the system to adjust scaling decisions dynamically, combining the responsiveness of reactive methods with the anticipatory capability of proactive methods.

Inventive Principle:
Principle #23Feedback

2Loss of time

If proactive auto-scaling with forecasting algorithms is used, then future workload demands are anticipated, but accurate prediction is difficult for services with unpredictable workloads

Engineering Contradiction:
Improveresource provisioning timeVSAvoidworkload prediction accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The system employs dynamic forecasting algorithms that adapt to changing workload patterns in real-time. Rather than using static prediction models, the system continuously learns from new data and adjusts its forecasting approach, enabling accurate predictions even for previously unpredictable workload patterns. This dynamic adaptation resolves the contradiction by making the prediction accuracy flexible rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes forecasting parameters dynamically based on the characteristics of the workload being predicted. Different algorithms and parameter settings are selected depending on whether the workload shows seasonal patterns, random behavior, or other characteristics. This parameter adaptation allows the system to maintain high prediction accuracy across diverse and unpredictable workload scenarios.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If cloud computing resources are over-provisioned to meet QoS requirements, then QoS targets are met, but financial cost increases

Engineering Contradiction:
ImproveQoS target achievementVSAvoidfinancial cost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

By predicting future workload demands in advance, the system provisions resources only when and where they are actually needed, rather than maintaining constant over-provisioning. This preliminary action allows the system to meet QoS targets while avoiding the continuous financial cost of idle resources during low-demand periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts resource allocation based on real-time workload conditions and predictions, transitioning between provisioning states as needed. This dynamic approach replaces static over-provisioning with adaptive resource management, maintaining QoS compliance while optimizing financial cost by allocating resources only when necessary.

Inventive Principle:
Principle #15Dynamics

4Loss of energy

If cloud computing resources are under-provisioned to minimize financial cost, then financial cost is reduced, but QoS requirements are not met

Engineering Contradiction:
Improvefinancial costVSAvoidQoS target achievement
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system performs preliminary resource provisioning based on predicted workload demands, ensuring that sufficient resources are available before peak demand occurs. This prevents QoS violations while avoiding the need for continuous over-provisioning, thus maintaining lower financial costs compared to traditional under-provisioning approaches.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from workload monitoring and QoS measurements to continuously refine resource allocation decisions. When QoS targets are at risk of being violated, the system responds by provisioning additional resources, ensuring reliability while minimizing unnecessary spending during periods when QoS is already being met.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11451601B2Systems and methods for dynamic allocation of computing resources for microservice architecture type applications
Publication Date: 2022.09.20 SPOTIFY
  • US11451601B2 patent drawing
  • US11451601B2 patent drawing
  • US11451601B2 patent drawing

AI summary

Systems and methods for auto-scaling computing resources for applications that rely on microservices, such as media streaming applications. In example embodiments, the systems and methods use a hybrid approach that takes into account proactive and reactive metrics to predict future processing needs. The proactive metrics use data obtained from the microservices pipeline. In example embodiments, computing units are deployed or removed from a cluster of computing units in anticipation of a future computational need and in consideration of quality of service requirements.