Pricing Comparison for Managed Prometheus

This pricing benchmark compares Timescale Cloud and its connector for Prometheus, Promscale, with other popular cloud services for storing, managing and querying Prometheus metric data:

  • Amazon Managed Service for Prometheus (referred from now on as AWS Prometheus)
  • Google Cloud Managed Service for Prometheus (referred from now on as GCP Prometheus)
  • Grafana Cloud

Note that each of these services provides different capabilities and options. In particular, they offer different levels of PromQL compliance, distinct default retention periods, and flexibility to configure retention policies.

In the Prometheus world, it is common to measure the size of a system based on the number of metric data points (named samples in Prometheus) per second it ingests because observability workloads are usually heavy on data writes and light on data reads. Therefore we will evaluate pricing under different ingest volumes measured in samples per second. A sample is made of a metric name, a set of labels, a timestamp, and a value.

Pricing Models

Each product uses a different pricing model. AWS, GCP, and Grafana have pricing models that are based on the amount of data ingested, stored and/or queried while the Timescale Cloud pricing model is based on the amount of compute and storage required.

Timescale Cloud

Timescale Cloud pricing is based on the provisioned CPU, memory, and disk storage to ingest, store, and query the required volume of Prometheus data. The recommendation guide covers the resource requirements for different loads.

It starts at $39 per month for 0.5 CPUs, 2 GB of RAM and 10 GB of storage.

AWS Prometheus

AWS Prometheus pricing is based on the following:

  1. The number of samples ingested per month:
    1. Tier 1: First 2 billion samples at $0.90 per 10 million samples
    2. Tier 2: Next 250 billion samples at $0.35 per 10 million samples
    3. Tier 3: Over 252 billion samples at $0.16 per 10 million samples
  2. The amount of disk storage used: $0.03 per GB per month
  3. The number of samples processed by queries at $0.10 per billion samples processed

GCP Prometheus

GCP Prometheus pricing is based on the following:

  1. The number of samples ingested per month:
    1. Tier 1: First 50 billion samples at $0.15 per 1 million samples
    2. Tier 2: 50-250 billion samples at $0.12 per 1 million samples
    3. Tier 3: 250-500 billion samples at $0.09 per 1 million samples
    4. Tier 4: Over 500 billion samples at $0.06 per 1 million samples
  2. The number of monitoring API calls to read the data at $0.01 per 1,000 Read API calls. The first 1 million Read API calls per billing account are free.

GCP doesn’t charge for empty buckets in histogram metrics which they estimate results in 15% cost savings in typical scenarios.

Grafana Cloud

Grafana Cloud pricing charges $8 per 1,000 data points (samples) for the Pro plan.

While their website says their pricing is based on the number of series, this is only true if you only store one data point per minute (or less) for each series. If you have more data points per minute which is common in the Prometheus use case with scrape intervals of 15 or 30 seconds, then you will be billed on data points per minute as explained in their documentation. Note that they use the 95% percentile of data points per minute across the entire month and that the first 10,000 data points are free.

Benchmark

This pricing benchmark estimates data ingestion and storage costs with each provider's default retention settings:

  • Timescale Cloud keeps 90 days of raw data by default which users can change at any time. It also allows for granular per-metric retention configuration.
  • AWS Prometheus keeps raw data for 150 days which can be changed by requesting a quota increase to AWS (which they may approve or not).
  • GCP Prometheus keeps raw data for one week, and after that, it down-samples the data. It keeps one-minute points for the next five weeks, and 10-minute points for the remainder of the total retention period, which is 24 months. We haven’t found evidence this can be changed by the user.
  • Grafana Cloud Pro includes 13 months of raw data retention which can be configured by the user.

While AWS and GCP charge separately for data reads, they are not taken into account in this benchmark because of the difficulty of estimating those properly.

The comparison looks at four different scenarios for data ingestion to cover common Prometheus ingest data volumes: 10,000 samples per second, 20,000 samples per second, 50,000 samples per second, and 100,000 samples per second.

For this benchmark, we will use Timescale Cloud instances hosted in AWS us-east-1 and AWS Prometheus hosted on us-east-1 (prices may vary slightly depending on region). The price is the same regardless of region for GCP and Grafana Cloud.

Summary

The tables below summarize the results of the benchmark. After this summary, you have all the details of how costs have been calculated.

Monthly Costs

Samples per secondTimescale CloudAWS PrometheusGCP PrometheusGrafana Cloud
10,000$331.69$1,023.00$3,304.80$4,720.00
20,000$661.38$1,936.06$6,609.60$9,520.00
50,000$1,656.91$4,675.00$14,494.20$23,920.00
100,000$2,659.39$9,103.52$27,478.80$47,920.00

Percentage savings

The table below shows the cost savings percentage when using Timescale Cloud.

For example, for 100,000 samples per second, Timescale Cloud is 70.79% cheaper than AWS Prometheus, 90.32% cheaper than GCP Prometheus and 94.45% cheaper than Grafana Cloud.

Samples per secondAWS PrometheusGCP PrometheusGrafana Cloud
10,000-67.58%-89.96%-92.97%
20,000-65.84%-89.99%-93.05%
50,000-64.56%-88.57%-93.07%
100,000-70.79%-90.32%-94.45%

If you prefer to look at this number in terms of how much more expensive other solutions are compared to Timescale Cloud, the table below shows the cost multiplier. For example, for 100K samples per second, AWS Prometheus is 3.42 times more expensive than Timescale Cloud, GCP Prometheus is 10.33 times more expensive, and Grafana Cloud 18.02 times more expensive.

Samples per secondAWS PrometheusGCP PrometheusGrafana Cloud
10,0003.08x9.96x14.23x
20,0002.93x9.99x14.39x
50,0002.82x8.75x14.44x
100,0003.42x10.33x18.02x

10,000 Samples Per Second

10,000 samples per second is a moderate data volume and would be the equivalent of

  • 600,000 active series with a scrape interval of 1 minute
  • 300,000 active series with a scrape interval of 30 seconds
  • 100,000 active series with a scrape interval of 10 seconds

Timescale Cloud

The recommended Timescale Cloud configuration for 10,000 samples per second is 1 CPU, 4 GB of memory and 250 GB of disk space which costs $330.69 per month.

AWS Prometheus

10,000 samples per second is equivalent to 10,000 * 60 * 60 * 24 * 30 = 25,920,000,000 samples per month.

The monthly costs in this scenario are as follows:

  • Tier 1: 2 billion for a total cost of $0.90 * 2 B / 10 M = $180.00
  • Tier 2: 23.920 billion for a total cost of $0.35 * 23.92 B / 10 M = $837.20
  • Tier 3: no samples in this tier

Therefore the total ingest costs are $1,017.20.

Assuming each metric sample is about 1.5 bytes, then the amount of disk storage consumed in one month is 1.5 bytes * 25,920,000,000 = 38,88 GB. Since AWS Prometheus has a fixed data retention period of 150 days (~five months) for data, once you’ve ingested data for five months, the storage costs are $0.03 * 5 * 38,88 GB = $5.83. They are fairly small compared to the sample ingest costs. We haven’t included the disk consumption of metric metadata in this estimate because it’s not straightforward to estimate, and in the tests we’ve done, it didn’t meaningfully impact costs. Also, remember that we are not including query costs because they are also difficult to estimate.

So the final monthly cost for AWS Prometheus for ingesting 10,000 samples per second is $1,017.2 + $5.83 = $1,023.03.

GCP Prometheus

As we saw before 10,000 samples per second will generate 25,920,000,000 samples per month.

All samples fall under Tier 1 and therefore they cost $0.15 * 25.92 B / 1 M = $3,888.00.

GCP Prometheus does not charge for buckets with empty values in histogram metrics which according to Google in a typical scenario means savings of 15% on sample ingestion in a typical scenario. So if we deduct 15% from the total costs of sample ingestion we end up with $3,888.00 * (1 - 0.15) = $3,304.80 per month.

Note that GCP also charges for read calls to the Monitoring API which we do not consider in this benchmark.

Grafana Cloud

10,000 samples per second is 10,000 * 60 = 600,000 samples (data points) per minute.

Therefore the monthly costs of the Pro plan are (600,000 - 10,000 free tier) * $8 / 1,000 = $4,720.00.

20,000 Samples Per Second.

20,000 samples per second is the equivalent of

  • 1.2 million active series with a scrape interval of 1 minute
  • 600,000 active series with a scrape interval of 30 seconds
  • 200,000 active series with a scrape interval of 10 seconds.

Timescale Cloud

The recommended Timescale Cloud configuration for 20,000 samples per second is 2 CPU, 8 GB of memory, and 500 GB of disk space, costing $661.38 per month.

AWS Prometheus

20,000 samples per second is equivalent to 20,000 * 60 * 60 * 24 * 30 = 51,840,000,000 samples per month.

The ingest costs in this scenario are as follows:

  • Tier 1: 2 billion samples for a total cost of $0.90 * 2 B / 10 M = $180.00
  • Tier 2: 49.84 billion samples for a total cost of $0.35 * 49.84 B / 10 M = $1,744.40
  • Tier 3: no samples in this tier

Therefore the total monthly ingest costs are $1,924.40.

The amount of disk consumed is 5 * 1.5 bytes * 129,600,000,000 samples = 389 GB which costs $0.03 * 389 = $11.66.

So the final monthly cost for AWS Prometheus for ingesting 20,000 samples per second is $1,924.40 + $11.66 = $1,936.06.

GCP Prometheus

As we saw before, 20,000 samples per second will generate 51,840,000,000 samples per month.

  • Tier 1: 50 billion samples for a total cost of $0.15 * 50 B / 1 M = $7,500.00
  • Tier 2: 1.84 billion samples for a total cost of $0.12 * 1.84 B / 1 M = $220.80
  • Tier 3: no samples in this tier
  • Tier 4: no samples in this tier

Therefore the total ingest costs are $7,720.80 and after applying the 15% reduction for empty buckets in histogram metrics we end up with $7,720.80 * (1 - 0.15) = $6,609.60 per month.

Grafana Cloud

20,000 samples per second is 20,000 * 60 = 1,200,000 samples (data points) per minute.

Therefore the monthly costs of the Pro plan would be (1,200,000 - 10,000 free tier) * $8 / 1,000 = $9,520.

50,000 Samples Per Second.

50,000 samples per second is the equivalent of

  • 3 million active series with a scrape interval of 1 minute
  • 1.5 million active series with a scrape interval of 30 seconds
  • 500,000 active series with a scrape interval of 10 seconds.

Timescale Cloud

The recommended Timescale Cloud configuration for 50,000 samples per second is 4 CPU, 16 GB of memory, and 1.5 TB of disk space, costing $1,654.91 per month.

AWS Prometheus

50,000 samples per second is equivalent to 50,000 * 60 * 60 * 24 * 30 = 129,600,000,000 samples per month.

The ingest costs in this scenario are as follows:

  • Tier 1: 2 billion samples for a total cost of $0.90 * 2 B / 10 M = $180
  • Tier 2: 127.600 billion samples for a total cost of $0.35 * 127.6 B / 10 M = $4,646
  • Tier 3: no samples in this tier

Therefore the total ingest costs are $4,646.

The amount of disk consumed is 5 * 1.5 bytes * 129,600,000,000 samples = 972 GB which costs $0.03 * 972 = $29.16

Therefore the final monthly cost for AWS Prometheus for ingesting 50,000 samples per second is $4,646 + $29.16 = $4,675.16.

GCP Prometheus

As we saw before, 50,000 samples per second will generate 129,600,000,000 samples per month.

The ingestion costs in this scenario are as follows:

  • Tier 1: 50 billion samples for a total cost of $0.15 * 50 B / 1 M = $7,500.00
  • Tier 2: 79.6 billion samples for a total cost of $0.12 * 79.6 B / 1 M = $9,552.00
  • Tier 3: no samples in this tier
  • Tier 4: no samples in this tier

Therefore, the total ingest costs are $17,052.00 and after applying the 15 % reduction for empty buckets in histogram metrics we end up with $17,052.00 * (1 - 0.15) = $14,494.20 per month.

Grafana Cloud

50,000 samples per second is 50,000 * 60 = 3,000,000 samples (data points) per minute.

Therefore the monthly cost of the Pro plan would be (3,000,000 - 10,000 free tier) * $8 / 1,000 = $23,920.00.

100,000 Samples Per Second

100,000 samples per second is the equivalent of

  • 6 million active series with a scrape interval of 1 minute
  • 3 million active series with a scrape interval of 30 seconds
  • 1 million active series with a scrape interval of 10 seconds

Timescale Cloud

The recommended Timescale Cloud configuration for 100,000 samples per second is 8 CPU, 32 GB of memory, and 2.5 TB of disk space, which costs $2,659.39 per month.

AWS Prometheus

100,000 samples per second is equivalent to 100,000 * 60 * 60 * 24 * 30 = 259,200,000,000 samples per month.

The ingest costs in this scenario are as follows:

  • Tier 1: 2 billion samples for a total cost of $0.90 * 2 B / 10 M = $180.00
  • Tier 2: 250 billion samples for a total cost of $0.35 * 250 B / 10 M = $8,750.00
  • Tier 3: 7.2 billion samples for a total cost of $0.16 * 7.2 B / 10 M = $115.20

Therefore the total ingest costs are $9,045.20.

The amount of disk consumed would be 5 * 1.5 bytes * 259,200,000,000 samples = 1,944 GB which would cost $0.03 * 1,944 = $58.32.

So the final monthly cost for AWS Prometheus for ingesting 100,000 samples per second is $9,045.20 + $58.32 = $9,103.52.

GCP Prometheus

As we saw before, 100,000 samples per second will generate 259,200,000,000 samples per month.

The ingestion costs in this scenario are as follows:

  • Tier 1: 50 billion samples for a total cost of $0.15 * 50 B / 1 M = $7,500.00
  • Tier 2: 200 billion samples for a total cost of $0.12 * 79.6 B / 1 M = $24,000.00
  • Tier 3: 9.2 billion samples for a total cost of $0.09 * 9.2 B / 1 M = $828.00
  • Tier 4: no samples in this tier

Therefore, the total ingest costs are $32,328.00 and after applying the 15 % reduction for empty buckets in histogram metrics we end up with $32,328.00 * (1 - 0.15) = $27,478.80 per month.

Grafana Cloud

100,000 samples per second is 100,000 * 60 = 6,000,000 samples (data points) per minute.

Therefore the monthly cost of the Pro plan would be (6,000,000 - 10,000 free tier) * $8 / 1,000 = $47,920.00.