FinOps lead
Owns monthly credit forecasts and now sees unexplained residual spend after query volume is accounted for.
Teams don't have an idle compute problem so much as a billing-model problem - the auto-suspend timer, size chart, and suspension scripts are all attempts to tune around it. Here is the problem as we're hearing it, what it costs, and the way out.
Warehouses bill for uptime in fixed size steps with a 60-second minimum, so every gap between queries, every reset of the auto-suspend timer, and every oversized warehouse converts directly into credits - and no configuration setting changes that billing model.
Owns monthly credit forecasts and now sees unexplained residual spend after query volume is accounted for.
Owns warehouse sizing, auto-suspend settings, and multi-cluster policies, and must explain why clusters stay billed long after the last statement ends.
Owns the transformation pipelines, and discovered the X-Large warehouse chosen on day one is running queries a Small could serve at one-sixteenth the cost.
A warehouse resumes for a one-second query and bills for sixty seconds, because sixty is the minimum. A second one-second query arrives at second 59, resets the timer, and buys another sixty. Multiply that across dozens of warehouses and the idle share of the bill grows quietly, because metering reports credits per warehouse - not which credits bought queries and which bought waiting.
The responses look the same at most companies. Someone sets auto-suspend to one minute, and someone objects that aggressive suspends clear the cache and make cold reads slower and more expensive. Someone writes an external poller that issues SUSPEND directly, because multi-cluster warehouses spin up aggressively and can take over ten minutes to wind down. Someone evaluates an optimization vendor and learns the price is 20 to 40 percent of whatever gets saved. The tuning never ends, because the thing being tuned around never changes.
out-of-the-box auto-suspend of 600 seconds keeps warehouses running long after batch, reporting, or agent work ends.
the 60-second billing minimum plus a resettable idle timer means short, sporadic queries pay for far more compute than they consume.
warehouse sizes only double, so right-sizing is a forced choice between paying for headroom and eating queue time.
suspending faster saves idle credits but clears local disk cache, so the savings partially return as slower, more expensive cold queries.
multi-cluster warehouses scale out in seconds and scale in over minutes, and no warehouse parameter closes that gap.
native metering shows spend by warehouse and time, not the split between execution and idle, so the waste has to be inferred rather than read.
platform engineers maintain suspension pollers, stored procedures, and resource monitors whose only purpose is to fight the billing model.
observability dashboards, suspension bots, and third-party optimizers accumulate around the warehouse, each one a new thing to run, secure, and explain.
commit drawdown outpaces the plan that justified the contract, forcing mid-year renegotiation from a weak position.
optimization vendors priced at 20 to 40 percent of realized savings convert even successful cost work into a recurring margin leak.
new workloads, especially AI agents that fire sporadic queries all day, get delayed because each one restarts the sizing and suspend debate.
every new dashboard or agent triggers a mental calculation about what it does to the bill before anyone asks what it does for the business.
the same auto-suspend argument recurs every quarter, and everyone in the room knows no setting ends it.
when the bill spikes, the platform team gets asked to explain spend it can see but was never given the levers to control.
e6data runs SQL and AI workloads directly on your existing S3, ADLS Gen2, or Iceberg tables and bills for the vCPUs a query actually consumes, not for warehouse hours provisioned in advance. There's no size chart to argue over and no idle timer to tune, because idle is not a billable state. Pilot it alongside your existing warehouse to:
one workload moves first - typically a BI dashboard with sporadic traffic or an agent-driven query pattern - pointed at an e6data endpoint reading the same Iceberg tables in the same bucket. No data is copied and no pipeline is rewritten, and the warehouse keeps serving everything else while the pilot runs. What comes back is a live, same-data comparison of cost per workload instead of a vendor projection.
compute scales to the query rather than to a pre-picked warehouse size, and billing follows actual vCPU consumption, so a one-second query costs one second of compute instead of a sixty-second minimum on a cluster sized for the worst case. The suspension pollers, the timer debates, and the size-jump decisions become unnecessary, and sporadic workloads like agents stop being the expensive category.
because billing tracks consumption instead of uptime, spend maps to the workloads that generated it rather than a shared warehouse many teams touched. FinOps gets an answer to which team and which workload drove the bill without reverse-engineering metering history, and the quarterly review shifts from inference to reading.
open tables stay in the existing bucket under the existing catalog, BI dashboards and agents reconnect through an endpoint swap, and access controls carry over, with compute running serverless or inside your own VPC when network isolation is required. Adoption is an endpoint change, not a migration, and the exit is the same endpoint changed back.
| 1-vCPU | billed on execution - idle isn't billable |
|---|---|
| No | size chart or suspend timer to tune |
| Endpoint | swap, not a migration |
Reach out to book a demo, share challenges you’re facing, and tell us how this fits into what you’re currently working on or thinking about.
Problems we’re solvingAn actual person replies, usually within one working day.