Prometheus Scalability with Bryan Boreham

Prometheus Scalability with Bryan Boreham

Prometheus is an open source monitoring system and time series database. Prometheus includes a multi-dimensional data model, a query language called PromQL, and a pull model for gathering metrics from your different services. Prometheus is widely used by large distributed systems deployments such as Kubernetes and Cloud Foundry.

Prometheus gathers metrics from your services by periodically scraping those services. Those metrics get gathered, compressed, and stored onto disk for querying. But Prometheus is designed to store all of its records on one host in one set of files–which limits the scalability and availability of those metrics.

Cortex is an open source project built to scale Prometheus. Cortex effectively shards Prometheus by parallelizing the “ingestion” and storage of Prometheus metrics. Cortex can take metrics from multiple Prometheus instances and store them across a distributed NoSQL database like DynamoDB, BigTable, or Cassandra.

Bryan Boreham is an engineer at Weaveworks, where he works on deployment, observability, and monitoring tools for containers and microservices. He wrote much of the code for Cortex, and we met up at KubeCon North America to talk about the motivation for creating Cortex, the broader landscape of Kubernetes monitoring, and other approaches to scaling Prometheus.

SED

Software Engineering Daily covers software engineering, technology, and the broader forces shaping the industry. Since 2015, we have brought our audience in-depth conversations and reporting from the people who build and shape technology.

Thanks to our sponsors

This episode is brought to you by:

Subscribe
to the newsletter

Subscribe to the Software Engineering Daily newsletter for a curated look at the best and newest from the software engineering community.