EN
Back to the archive

The encyclopedia · Software & IT · Technical decision · 2012–2018

Prometheus won cloud-native monitoring by pulling metrics and indexing them by labels

SoundCloud's Prometheus (2012) made pull-based scraping plus label dimensions the cloud-native monitoring standard, graduating from CNCF in 2018.

SoundCloud

the move

SoundCloud's engineers needed to monitor services that appeared, moved and died as fast as code deploys. They built Prometheus in 2012 around two deliberate choices: pull-based scraping and a label-based data model. Instead of agents pushing named metrics into a central store, Prometheus fetches metrics from each target's HTTP endpoint at intervals, using service discovery to find targets.

Pulling changed the economics of monitoring: a target that is down or missing simply stops appearing, no separate liveness channel is needed, and the collector controls its own load. Labels — key-value pairs on every sample — then let one metric, like request count, be sliced by job, instance, handler or region in a single query language. That made Prometheus feel like a database rather than a graph dump.

In May 2016 Prometheus joined the CNCF as its second hosted project after Kubernetes, and in August 2018 it graduated — the second project ever to do so. Its exposition format even spun out as OpenMetrics, described by CNCF as evolving "a de facto industry specification."

why it works

  • Pulling lets service discovery find new instances automatically and makes dead targets obvious.
  • Labels turn one metric into many queryable dimensions instead of inventing metric names.
  • The collector controls scrape load instead of being flooded by agents.
  • Apache-2.0 licensing and CNCF neutrality removed vendor lock-in fears.
the payoffPull metrics; store them by labelsinspired

what transfers

Make the collection model match dynamic infrastructure: pull plus discovery finds services you didn't know about yet, and labels turn one metric into many queryable dimensions.

what came after

Prometheus became the default monitoring stack of the Kubernetes era — its query language PromQL is now a common skill in platform teams, and most modern observability products offer Prometheus compatibility. Its 2018 CNCF graduation, the second after Kubernetes, cemented it in the cloud-native standard library.

references

spotted an error? The archive wants to know.

same kind of clever