Per-Second Auto-Suspend vs 24/7 Provisioned Nodes
Snowflake bills compute in credits at a modeled $3.00/credit (Standard Edition), where warehouse size directly sets the credit burn rate: X-Small draws 1 credit/hour, Small 2, Medium 4, Large 8. Billing has a 60-second minimum per warehouse resume, which this calculator enforces via Math.max(60, runtimeMinutes ร 60) โ a job that finishes in 20 seconds is still billed for a full minute. That total runtime is compared against two Redshift shapes: Serverless RPU pricing ($0.36/RPU-hour, floored at a minimum 8 RPU regardless of workload size) and Provisioned ra3.xlplus nodes ($1.08/hour each, minimum 2 nodes for a usable cluster), both billed continuously rather than per-query.
The Anti-Pattern This Exposes
Auto-suspend billing (Snowflake, Redshift Serverless) wins decisively for bursty, scheduled ETL โ a warehouse that runs 15 minutes every hour and suspends the rest of the time is paying for a quarter of an hour's compute, not a full hour. That advantage evaporates under continuous, streaming query load: if your workload never lets the warehouse idle long enough to suspend, you're paying per-second rates for what is effectively 24/7 usage, at which point provisioned Redshift nodes โ billed flat regardless of utilization โ usually come out cheaper.
Sizing Gotchas
- The 8 RPU floor: Even a warehouse-size-1 workload maps to a minimum 8 Redshift Serverless RPUs in this model โ small jobs don't get proportionally small RPU bills.
- The 2-node floor: Provisioned Redshift cost assumes at least 2 nodes, since a single-node cluster has no failover and isn't a realistic production baseline.
- Resume latency isn't modeled: Real Snowflake warehouses take seconds to resume from suspend, which matters for latency-sensitive interactive queries even though it barely affects the monthly bill.