Sage: Using Unsupervised Learning for Scalable Performance Debugging in Microservices
arXiv:2101.00267
Abstract
Cloud applications are increasingly shifting from large monolithic services to complex graphs of loosely-coupled microservices. Despite the advantages of modularity and elasticity microservices offer, they also complicate cluster management and performance debugging, as dependencies between tiers introduce backpressure and cascading QoS violations. We present Sage, a machine learning-driven root cause analysis system for interactive cloud microservices. Sage leverages unsupervised ML models to circumvent the overhead of trace labeling, captures the impact of dependencies between microservices to determine the root cause of unpredictable performance online, and applies corrective actions to recover a cloud service's QoS. In experiments on both dedicated local clusters and large clusters on Google Compute Engine we show that Sage consistently achieves over 93% accuracy in correctly identifying the root cause of QoS violations, and improves performance predictability.
References in corpus (7)
- Conditional Generative Adversarial Nets
- Overcoming catastrophic forgetting in neural networks
- Estimating high-dimensional directed acyclic graphs with the PC-algorithm
- Causal Effect Inference with Deep Latent-Variable Models
- Chaos Engineering
- Online Learning: A Comprehensive Survey
- Variational Autoencoder with Arbitrary Conditioning