The Visible Costs
When teams evaluate self-hosting vs. managed metrics, they typically compare the sticker price of cloud compute against the monthly SaaS fee. On the surface, self-hosting looks cheaper. A few VMs, some SSDs, and an open-source TSDB — what could go wrong?
Let's start with the obvious costs for a production-grade Prometheus + Thanos setup handling 1M active series:
| Resource | Monthly Cost | |----------|-------------| | 3x Prometheus instances (HA + federation) | $1,200 | | Thanos compactor + store gateway | $800 | | Object storage (S3/GCS) | $200 | | Load balancer | $50 | | Total infrastructure | $2,250 |
Looks reasonable, right? Now let's look at what's hiding beneath the surface.
The Hidden Costs
1. Engineering Time
This is the big one. Someone has to:
- Set up and configure the initial cluster
- Write and maintain deployment manifests (Helm charts, Terraform)
- Monitor the monitors (meta-observability)
- Handle upgrades (Prometheus releases every 6 weeks)
- Debug compaction failures, WAL corruption, query timeouts
- Tune retention, sharding, and resource limits
- Respond to pages when the metrics system itself goes down
Conservative estimate: 0.5 FTE of a senior SRE's time. At a loaded cost of $200K/year, that's $8,333/month just in people cost.
2. Incident Cost
When your metrics system goes down during a production incident, you're flying blind. You can't see what's broken, you can't correlate, and your MTTR skyrockets.
We surveyed 50 engineering teams and found that metrics system outages added an average of 45 minutes to incident resolution time. At $10K/hour in lost revenue for a typical SaaS company, that's $7,500 per incident.
3. Opportunity Cost
Every hour your SRE team spends babysitting Thanos compaction is an hour they're not improving deployment pipelines, hardening security, or building internal tooling. This is the hardest cost to quantify but often the most significant.
4. Knowledge Risk
When the one person who understands your Thanos setup leaves the company, what happens? Knowledge silos around infrastructure tooling are a real risk.
The Real Comparison
| Cost Category | Self-Hosted | xScaler Labs (Scale Plan) | |--------------|-------------|---------------------| | Infrastructure | $2,250/mo | $0 (included) | | Engineering time | $8,333/mo | $0 | | Incident premium | ~$2,000/mo avg | $0 (99.9% SLA) | | Knowledge risk | High | None | | Total real cost | ~$12,583/mo | $599/mo |
When Self-Hosting Makes Sense
To be fair, there are scenarios where self-hosting is the right choice:
- Regulatory requirements that mandate on-premise data storage
- Extreme scale (10M+ active series) where managed pricing doesn't work
- Deep customization needs that no managed service can accommodate
- Teams with existing expertise who genuinely enjoy running storage systems
For everyone else — which is most teams — a managed backend gives you better reliability, lower total cost, and frees your team to work on what actually differentiates your product.
Making the Switch
Migration from self-hosted Prometheus to xScaler Labs takes about 15 minutes:
- Add xScaler Labs as a remote write target in your Prometheus config
- Point remote write to
https://euw1-01.m.xscalerlabs.com/api/v1/push - Configure Grafana to read from
https://euw1-01.m.xscalerlabs.com/prometheus - Verify data is flowing in the xScaler Labs dashboard
- (Optional) Decommission your Thanos/Cortex/Mimir setup
We handle the rest — storage, compaction, replication, upgrades, and scaling.
