Microservice Scaling via Resource Usage Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud systems require users to manually estimate and specify resource limits for microservices, leading to resource wastage and poor utilization due to difficulties in predicting CPU and memory needs, which can result in throttling or killing tasks if limits are exceeded.

Innovation Solution

A method for predicting resource usage by building clustering models and regression models to automatically determine the number of replicated containers, node bindings, and weights based on application requests and current usage status, enabling efficient scaling, scheduling, and load balancing across multiple nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If users manually estimate and specify resource limits for microservices, then resource allocation can be controlled, but resource wastage and poor utilization occur due to difficulties in predicting CPU and memory needs

Engineering Contradiction:
Improveresource wastageVSAvoidpredicting CPU and memory needs
Core Design Contradiction:
Loss of energyVSDifficulty of detecting and measuring

Solution Approach 1:

The system enables microservices to automatically self-scale based on their actual resource consumption patterns. The scaling mechanism monitors resource usage metrics and dynamically adjusts the number of container replicas without manual intervention, allowing the system to serve itself and eliminate resource wastage caused by manual estimation errors.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops by monitoring resource usage metrics (CPU, memory) and using this information to dynamically adjust scaling decisions. The feedback mechanism compares actual resource consumption against thresholds and triggers automatic scaling actions to optimize resource utilization while preventing resource wastage.

Inventive Principle:
Principle #23Feedback

2Reliability

If resource limits are exceeded, then task throttling or killing occurs, but this results in poor service performance and availability

Engineering Contradiction:
Improveservice availabilityVSAvoidservice performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary scaling actions by predicting future resource needs based on historical patterns and current trends. Before resource limits are exceeded and cause task throttling or killing, the system proactively scales up container replicas to prevent performance degradation and maintain service availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamic resource allocation that continuously adapts to changing workload conditions. Rather than static resource limits that cause throttling, the system dynamically adjusts resource capacity by scaling container replicas based on real-time monitoring of CPU and memory usage patterns.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the system dynamically adjusts resources based on demand, then resource utilization improves, but system complexity increases due to automated scaling mechanisms

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements a universal scaling mechanism that can be applied across multiple microservices and container orchestration platforms. The automated scaling controller serves multiple functions including monitoring, prediction, decision-making, and execution of scaling actions, reducing overall system complexity through consolidation of responsibilities into a single multi-functional component.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11842214B2Full-dimensional scheduling and scaling for microservice applications
Publication Date: 2023.12.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11842214B2 patent drawing
  • US11842214B2 patent drawing
  • US11842214B2 patent drawing

AI summary

A computer-implemented method for scheduling and scaling a cloud system for microservice applications is provided including identifying a plurality of nodes within one or more clusters associated with a plurality of containers, generating a model for predicting resource usage among the plurality of nodes, automatically deciding on a number of replicated containers, node bindings, and weight for each replicated container according to application requests and current usage status of a cluster of the one or more clusters that reduce resource usages and microservice cohesion, and determining at least node redistribution of the plurality of nodes within the plurality of containers and workload partitioning to reconfigure scaling, scheduling, and balance deployment requirements of the microservice applications.