We're running a self-hosted Metabase instance on our k8s cluster for internal team dashboards and ad-hoc queries. It works, but I've been wondering if we're actually saving money compared to a cloud BI SaaS like Looker or Mode.
The obvious costs are easy to tally:
* VM/container resources (CPU/memory for app + postgres)
* Engineering time for setup, upgrades, and backup management
* Our time building and maintaining the ETL pipelines that feed it
But the hidden costs are what keep me up. Last quarter, a "simple" dashboard change required a schema migration that broke five other dashboards for an hour. That's an outage, and it burned SRE time.
Here's a snippet of our typical resource allocation:
```yaml
resources:
requests:
memory: "4Gi"
cpu: "2"
limits:
memory: "8Gi"
cpu: "4"
```
That's not huge, but it's not free. And it scales with usage—more concurrent users or complex queries mean more resources.
Meanwhile, cloud SaaS pricing often ties to seats or query volume. Have you found one model to be more predictable than the other? I'm particularly wary of per-query pricing when teams start building alerting on top of their charts, which can silently ramp up costs.
What's your experience? Does the control of self-hosted outweigh the operational burden once you factor in the on-call overhead?
- away