Predictive Workload Placement for Microservice Resource Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microservices architecture applications face performance degradation and fault conditions due to under-provisioning of resources, leading to inefficient and wasteful overprovisioning when trying to react to changes in demand, and existing automation methods require encountering fault events before responding.

Innovation Solution

A method that predicts future changes in demand to proactively scale resources within the application environment, adjusting resource deployments to accommodate anticipated changes, thereby preventing faults and optimizing performance without excessive overprovisioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If microservice units are overprovisioned with more compute resources than necessary, then fault conditions and performance degradation are prevented, but resource waste and cost increase

Engineering Contradiction:
Improvefault preventionVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by predicting future demand changes before they occur and proactively scaling resources in advance. The predictive scaling system analyzes historical and real-time metrics to forecast demand, then automatically provisions or deprovisions resources before the actual demand change happens, preventing both fault conditions and resource waste.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback loops by monitoring application performance metrics, resource utilization, and demand patterns. This feedback informs the predictive algorithms to continuously refine demand forecasts and adjust resource provisioning dynamically, ensuring reliability while optimizing resource efficiency.

Inventive Principle:
Principle #23Feedback

2Extent of automation

If conventional automation methods are used to provision resources, then manual management is reduced, but response to demand changes is delayed until fault events occur

Engineering Contradiction:
Improveprovisioning automationVSAvoidresponse delay
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by predicting future demand changes before they occur and proactively scaling resources in advance. The predictive scaling system analyzes historical and real-time metrics to forecast demand, then automatically provisions or deprovisions resources before the actual demand change happens, preventing both fault conditions and resource waste.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback loops by monitoring application performance metrics, resource utilization, and demand patterns. This feedback informs the predictive algorithms to continuously refine demand forecasts and adjust resource provisioning dynamically, ensuring reliability while optimizing resource efficiency.

Inventive Principle:
Principle #23Feedback

3Loss of energy

If minimal overprovisioning is applied, then resource waste is reduced, but the application remains susceptible to performance degradation and fault conditions

Engineering Contradiction:
Improveresource efficiencyVSAvoidperformance stability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system performs preliminary actions by predicting future demand changes before they occur and proactively scaling resources in advance. The predictive scaling system analyzes historical and real-time metrics to forecast demand, then automatically provisions or deprovisions resources before the actual demand change happens, preventing both fault conditions and resource waste.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system transitions from static provisioning to dynamic adaptive provisioning. The predictive scaling system continuously adjusts resource allocation based on real-time demand predictions, allowing the infrastructure to flexibly adapt to changing conditions and maintain optimal performance with minimal resource waste.

Inventive Principle:
Principle #15Dynamics

4Reliability

If excessive overprovisioning is applied, then fault conditions are avoided, but cost effectiveness deteriorates and resources are wasted

Engineering Contradiction:
Improvefault avoidanceVSAvoidcost effectiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by predicting future demand changes before they occur and proactively scaling resources in advance. The predictive scaling system analyzes historical and real-time metrics to forecast demand, then automatically provisions or deprovisions resources before the actual demand change happens, preventing both fault conditions and resource waste.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes provisioning parameters based on predicted demand. Instead of using fixed overprovisioning levels, the predictive scaling system adjusts resource allocation parameters (CPU, memory, instances) according to forecasted demand, maintaining fault avoidance while optimizing cost effectiveness.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11805073B2Controlling placement of workloads of an application within an application environment
Publication Date: 2023.10.31 AVESHA INC
  • US11805073B2 patent drawing
  • US11805073B2 patent drawing
  • US11805073B2 patent drawing

AI summary

A technique is directed toward controlling placement of workloads of an application within an application environment. The technique involves, while a first placement of workloads of the application is in a first deployment of resources within the application environment, generating a set of resource deployment changes that accommodates a predicted change in demand on the application. The technique further involves adjusting the first deployment of resources within the application environment to form a second deployment of resources within the application environment, the second deployment of resources being different from the first deployment of resources. The technique further involves providing a second placement of workloads of the application in the second deployment of resources to accommodate the predicted change in demand on the application, the second placement of workloads being different from the first placement of workloads.