Microservice Pipeline Autoscaler for Kubernetes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing auto-scaling mechanisms in Kubernetes, such as Horizontal Pod Autoscaler (HPA) and Vertical Pod Autoscaler (VPA), are inefficient when handling applications composed of multiple inter-connected microservices processing real-time data streams, as they scale independently without considering interactions between microservices, leading to suboptimal resource allocation and performance degradation.

Innovation Solution

The introduction of a microservice pipeline autoscaler that runs as a Kubernetes operator, which dynamically scales microservices by adjusting the number of pods and resource allocation across the entire application pipeline based on stream processing requirements, considering the interactions between microservices and eliminating the need for explicit scaling configuration parameters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional Horizontal Pod Autoscaler (HPA) and Vertical Pod Autoscaler (VPA) are used to scale microservices independently, then individual microservice scaling is simplified, but resource allocation becomes suboptimal and application performance degrades due to lack of coordination between interconnected microservices

Engineering Contradiction:
Improvemicroservice scalingVSAvoidresource allocation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges the scaling control of multiple interconnected microservices into a unified pipeline-level autoscaling mechanism. Instead of independently scaling each microservice via HPA/VPA, the system treats the entire microservice pipeline as a single scalable unit, coordinating resource allocation across all stages to optimize overall application performance while maintaining operational simplicity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a pipeline autoscaler as an intermediary component that mediates between individual microservices and the Kubernetes orchestration system. This intermediary monitors the entire pipeline's processing capacity and coordinates scaling decisions across all microservices, ensuring optimal resource allocation without requiring complex individual service configurations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If microservices are scaled independently without considering pipeline interactions, then deployment flexibility is improved, but computing waste increases and application performance deteriorates

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidcomputing waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the pipeline autoscaler continuously monitors the processing capacity and workload across all microservice stages. Based on this feedback, the system dynamically adjusts the scaling of individual microservices within the pipeline, ensuring that resources are allocated efficiently according to actual demand while maintaining deployment flexibility through automated coordination.

Inventive Principle:
Principle #23Feedback

3Device complexity

If traditional autoscaling methods are used without content-aware pipeline coordination, then implementation complexity is reduced, but application performance and resource utilization deteriorate

Engineering Contradiction:
Improveautoscaling configurationVSAvoidapplication performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent creates a universal pipeline autoscaler that can manage scaling across diverse microservice pipelines with different architectures and requirements. This multi-functional autoscaler handles various pipeline configurations, monitoring metrics, and scaling scenarios through a unified approach, reducing implementation complexity while optimizing application performance across different use cases.

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

Data Source

PatentUS20240168761A1Content-aware auto-scaling of stream processing applications on container orchestration
Publication Date: 2024.05.23 NEC LABORATORIES AMERICA INC
  • US20240168761A1 patent drawing
  • US20240168761A1 patent drawing
  • US20240168761A1 patent drawing

AI summary

Systems and methods for scaling in a container orchestration platform are described that include configuring an autoscaler in a control plane of the container orchestration platform to receive stream data from a data exchange system that is measuring stream processing of a pipeline of microservices for an application. The systems and methods further include controlling a number of deployment pods in at least one node of the container orchestration platform to meet requirements for the application provided by the pipeline of microservices.