Microservice Autoscaling Using Trace-Aware Call Graph Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current autoscaling methods in microservices-based applications set service level objectives (SLOs) at the microservice level, leading to inefficient resource allocation and potential violations of end-to-end user transaction-level performance targets.
Innovation Solution
A trace-driven, call-graph-aware approach for proactive coordinated autoscaling of component microservices, using performance-resource elasticity models and machine learning to predict workload levels and recommend microservice replica scaling, ensuring trace-level SLOs are met by optimizing resource allocation across microservices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If autoscaling methods set SLOs at the microservice level and perform resource scaling of individual microservices, then resource allocation is simplified and easier to manage, but trace-level performance targets are violated and resource allocation efficiency deteriorates
Solution Approach 1:
The patent segments the trace-level performance problem into microservice-level elasticity models. Each microservice has its own performance-resource elasticity model that captures its contribution to trace latency, enabling independent scaling decisions while maintaining trace-level SLO compliance through coordinated optimization.
Solution Approach 2:
The patent implements feedback mechanisms where trace-level performance metrics are aggregated and used to update microservice elasticity models. The system continuously monitors trace latency, aggregates it to the microservice level, and uses this feedback to adjust resource allocation dynamically, ensuring trace-level SLO compliance.
2Device complexity
If resource scaling is performed for each component microservice independently, then system complexity is reduced, but resource utilization efficiency deteriorates due to lack of coordination
Solution Approach 1:
The patent applies local quality by creating customized performance-resource elasticity models for each microservice based on its specific characteristics and contribution to trace latency. Each microservice's scaling decisions are optimized locally according to its own elasticity model while contributing to the global trace-level objective.
Solution Approach 2:
The patent merges individual microservice elasticity models into a coordinated scaling framework. By combining the local elasticity information from multiple microservices with trace-level performance targets, the system achieves coordinated resource allocation that improves overall resource utilization efficiency.
3Reliability
If proactive coordinated autoscaling with trace-driven approaches is implemented, then trace-level SLO compliance is improved, but system complexity and computational overhead increase
Solution Approach 1:
The patent performs preliminary action by pre-computing performance-resource elasticity models for each microservice before scaling decisions are needed. These elasticity models capture the relationship between resource allocation and trace latency contribution in advance, enabling faster real-time scaling decisions without complex runtime computations.
Solution Approach 2:
The patent changes parameters by transforming trace-level performance metrics into microservice-level elasticity parameters. This parameter transformation simplifies the control problem by working with pre-computed elasticity values rather than complex trace-level optimizations, reducing computational overhead while maintaining SLO compliance.
Data Source
AI summary
A computer-implemented method for trace-driven call-graph-aware proactive coordinated autoscaling of component microservices in an application includes generating performance-resource elasticity models of endpoints of the component microservices of the application. Workload levels of the endpoint of the component microservices is predicted based on user traffic observed at a front end service. A trace-level performance of the application is predicted for different microservice replica scaling based on the performance-resource elasticity models at end points, the ends points on the trace call graph and the predicted workload levels. A microservice replica scaling is recommended for each of the component microservices to meet predefined trace-level user service level objectives.


