Shift-Left Microservice Performance Prediction via Graph Embedding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional resource provisioning strategies fail when upgrading legacy applications to microservice-based architectures, as microservices have distinct performance profiles and resource requirements, making it difficult to determine the right resource provisioning strategy for cloud-native applications.
Innovation Solution
A shift-left analysis system that uses performance prediction models trained on multiple training sets corresponding to different call paths and runtime measurements to estimate microservice performance and resource requirements, allowing for informed configuration and architecture decisions before deployment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional resource provisioning strategies are used for legacy applications, then resource allocation is straightforward, but these strategies fail when upgrading to microservice-based architectures with distinct performance profiles
Solution Approach 1:
The patent segments the monolithic application into multiple independent microservices, each with its own performance prediction model. This allows each microservice to be analyzed and provisioned independently based on its specific performance profile, enabling accurate resource provisioning in the new architecture while maintaining adaptability.
Solution Approach 2:
The patent changes the provisioning approach from generic legacy strategies to microservice-specific strategies by introducing performance prediction models that analyze call paths, runtime measurements, and graph embedding vectors. This parameter change enables accurate resource allocation tailored to each microservice's unique characteristics.
2Measurement precision
If performance prediction models are trained on multiple training sets with different call paths and runtime measurements, then prediction accuracy improves, but system complexity increases
Solution Approach 1:
The patent performs preliminary training of performance prediction models using multiple training sets containing different call paths and runtime measurements before deployment. This preliminary action ensures high prediction accuracy is achieved in advance, allowing the system to handle complex microservice architectures with accurate predictions without requiring complex runtime analysis.
Solution Approach 2:
The patent creates graph embedding vectors that represent call paths through microservices as simplified copies of the actual execution paths. These vector representations capture the essential structure and relationships without requiring full replication of complex runtime behavior, reducing system complexity while maintaining prediction accuracy.
3Adaptability or versatility
If microservices are fine-grained with lightweight protocols, then system flexibility and deployability improve, but determining the right resource provisioning strategy becomes difficult
Solution Approach 1:
The patent implements self-service performance prediction by training models on each microservice's specific characteristics including call paths and runtime measurements. Each microservice essentially provisions itself by generating its own performance predictions based on its unique profile, eliminating the need for manual provisioning strategy determination despite the fine-grained nature of microservices.
Solution Approach 2:
The patent uses feedback from runtime measurements and call path analysis to continuously improve performance predictions. By collecting actual performance data from executing microservices and feeding it back into the prediction models, the system automatically refines provisioning strategies without manual intervention, making it easy to manage even with numerous fine-grained microservices.
Data Source
AI summary
A shift-left analysis system receives information regarding an application implemented by one or more microservices. The system determines a microservice performance metric based on a performance prediction model for each microservice of the application. The system outputs an application performance metric for the application based on the microservice performance metrics determined for the one or more microservices of application.


