The modern application landscape is changing fast! A microservices architecture modularizes your application where each service can be built and scaled independently of the other. Individual developers can iterate fast and provide continuous delivery of their microservice. But this also means more complexity, more chaos, more moving parts in production at a faster cadence. Microservices architecture can be a boon for developers but a bane for SREs. Without a sophisticated observability platform, the promise of microservices, unfortunately, is broken!

Microservices observability focuses on a tight data integration of three key data sources, correlating time-series metrics, histogram distribution, and distributed tracing information. With a unified view, developers and SREs get a true 3-dimensional (metrics, histograms, traces) view they need to monitor, troubleshoot, and profile their microservices application performance. Under the hood, a microservices application is composed of popular open source frameworks. The beauty of microservices is that you’re not tied to one programming language. With a single, unified “observability SDK”, SREs and developers can quickly use out-of-the-box metrics, histograms, and traces for all the popular frameworks and
languages. Out-of- the-box implies taking your polyglot application that is
completely un-instrumented, plug in the relevant SDKs and instantly start seeing metrics, histograms and traces lit up on our built-in dashboard UI.
In this talk, we will detail our journey toward implementing this 3D observability experience for our SREs and developers, where we analyze and visualize RED metrics (Requests, Errors, and Duration) for our microservices-based SaaS application, used by large enterprises worldwide. The duration, in this case, is a histogram comprising minute, hour and day distributions as first-class citizens in ourbackend store so the data can be sliced and diced that data with statistical functions (min, max, mean, median, p75, p95, p99, p99.99) on those distributions.

We integrated distributed tracing that provides language agnostic context propagation across all our microservices. We also derive metrics and histograms (i.e. RED metrics) from tracing spans so that we can quickly indicate top requests, top failed requests, and slowest operations. All this information can be visualized byour sophisticated dashboards built specifically so that our SREs can triage root cause faster in production.

In conclusion, by getting to 3D microservices observability, our SREs and
developers finally have a complete picture of the microservices application that will empower them to not only get a pulse of the overall health of their application but also drill down into the specific misbehaving microservice thus troubleshooting problems in production
faster.

Newsletter
  • Get the latest DevOps jobs, events and curated articles straight to your inbox, once a week

  • Community Partners