Scaling Prometheus to Production›08 · Thanos vs Mimir
Learning Hub / Observability & Reliability / Scaling Prometheus to Production

Lesson 08 of 10 · Modules

Thanos vs Mimir

A head-to-head guide for choosing between Thanos and Grafana Mimir: architecture (sidecar and query fan-out vs remote-write), multi-tenancy, downsampling, query performance, operations, licensing and fit for edge and multi-cluster platforms.

Architect
Key wordsThanos vs Mimirpull vs pushglobal querymulti-tenancydownsamplingoperational complexitylicensingedgedecision guide

Side by side

Thanos Mimir
Core model Pull/fan-out: querier asks sidecars and store gateways (or push via Receive) Push: remote-write into distributors/ingesters
Existing Prometheus Kept as-is; sidecar added Kept for scraping; storage/query move to Mimir (or agents replace servers)
Recent data lives in Each Prometheus (sidecar) or Receive Mimir ingesters
Global view Querier fan-out across sources Central by design
Multi-tenancy Via Receive tenants; less built-in limit tooling Native, with rich per-tenant limits
Downsampling ✅ (5m/1h) ❌ (raw only; relies on query sharding and caching)
HA dedup At query time and/or vertical compaction HA tracker on ingest; compactor dedup
Components to run Fewer to start (sidecar, querier, store, compactor) More (distributors, ingesters, queriers, frontends, store-gateways, compactor, …)
Licence Apache-2.0 AGPLv3
Heritage CNCF incubating project Grafana Labs, from Cortex

Thanos is like adding a library catalogue that can search the bookshelves already in every classroom, plus an archive for old books. Mimir is building one big central library where every classroom mails its books. The catalogue is easier to add to what exists; the central library is better when hundreds of classes need their own shelves, rules and limits.

Decision guide

Choose Thanos when:

  • you already run Prometheus per cluster and want a global view and long-term storage with minimal change;
  • long-range dashboards matter and downsampling is valuable;
  • a small platform team needs the fewest moving parts to start;
  • licensing policy prefers Apache-2.0.

Choose Mimir when:

  • you're building a central metrics service for many teams/tenants with enforced limits;
  • ingestion scale is very high, and you want every path to scale horizontally;
  • edge and remote clusters should push (agents) rather than be reachable for queries;
  • you're standardising on the Grafana stack (Loki, Tempo, Mimir share concepts: tenants, rings, object storage).

Either works for most mid-size platforms. Operational familiarity usually decides more than features.

Questions to answer before choosing

  1. How many active series now and in two years?
  2. How many tenants/teams, and do they need hard limits?
  3. What retention per tier (lesson 06), and do you need downsampled long-range queries?
  4. Are all clusters reachable from the central query layer?
  5. Who operates it, and which stack do they know?
  6. Any licensing constraints?

Try it: a written decision

  1. Using the Thanos and Mimir labs (lessons 04–07), run the same dashboard (7-day and 90-day ranges) against both; note query times.
  2. Count the components/pods each needed in your lab and the configuration lines you wrote.
  3. Simulate a disconnected cluster for 30 minutes in each setup and note what global queries show.
  4. Answer the six questions above for a real or imagined platform.
  5. Write a one-page decision record (context, options, decision, consequences).

Going deeper: hybrid and migration

  • Hybrids exist: Thanos Receive for push from edge sites, sidecars for data-centre clusters, one querier across both.
  • Migrating Thanos → Mimir (or back) is possible because both use Prometheus TSDB blocks in object storage, but tenant/label layouts differ, so plan it as a project.
  • Whichever you choose, keep Prometheus-compatible APIs at the edges (remote write, PromQL), so the backend remains replaceable.

Recap

  • Thanos: bolt-on, fan-out queries, downsampling, fewer components, Apache-2.0.
  • Mimir: central push service, native multi-tenancy and limits, horizontal scale, AGPLv3.
  • Decide from scale, tenants, retention, reachability, team skills and licensing, and write the decision down.

This site is a public version of my personal engineering knowledge hub. It intentionally excludes confidential company information and internal operational details.