Seer

Nuno Diegues, Paolo Romano, Stoyan Garbatov

2015 · 18 citations · 21 references

Concepts

TL;DR

Performance unpredictability hampers cloud adoption and, as services move to microservices, detecting QoS violations after they occur leads to long recovery times. Seer is an online cloud performance debugging system that learns spatial and temporal patterns from massive tracing data to predict QoS violations. It combines lightweight distributed RPC‑level tracing with low‑level hardware monitoring to detect imminent violations, diagnose their source, notify the cluster manager, and was evaluated in both local clusters and large‑scale microservice deployments. Seer anticipates QoS violations 91 % of the time, prevents them in 84 % of cases, and can identify application‑level design bugs to guide better microservice architecture.

Abstract

Performance unpredictability is a major roadblock towards cloud adoption, and has performance, cost, and revenue ramifications. Predictable performance is even more critical as cloud services transition from monolithic designs to microservices. Detecting QoS violations after they occur in systems with microservices results in long recovery times, as hotspots propagate and amplify across dependent services. We present Seer, an online cloud performance debugging system that leverages deep learning and the massive amount of tracing data cloud systems collect to learn spatial and temporal patterns that translate to QoS violations. Seer combines lightweight distributed RPC-level tracing, with detailed low-level hardware monitoring to signal an upcoming QoS violation, and diagnose the source of unpredictable performance. Once an imminent QoS violation is detected, Seer notifies the cluster manager to take action to avoid performance degradation altogether. We evaluate Seer both in local clusters, and in large-scale deployments of end-to-end applications built with microservices with hundreds of users. We show that Seer correctly anticipates QoS violations 91% of the time, and avoids the QoS violation to begin with in 84% of cases. Finally, we show that Seer can identify application-level design bugs, and provide insights on how to better architect microservices to achieve predictable performance.

References

21