Introduction: The Double-Edged Sword of Cloud Data Warehousing
Snowflake has revolutionised the world of cloud data warehousing with its separation of compute and storage, scalability, and pay-as-you-go pricing model. Running on major clouds like Azure and AWS, it allows enterprises to process massive workloads without upfront infrastructure costs.
But here’s the catch: that same flexibility can make costs unpredictable and hard to control.
- For executives, this means budget uncertainty.
- For technical leads, it means tighter governance and accountability.
This guide covers 10 proven strategies to optimise Snowflake costs across Azure and AWS—balancing performance, scalability, and cost-efficiency.
Understand Snowflake’s Pricing Model
Snowflake charges you in three key areas:
- Compute (Virtual Warehouses) – Billed per-second (rounded to the nearest minute). The biggest cost driver, typically 70–80% of spend.
- Storage – Costs for compressed data, Time Travel, and Fail-safe.
- Data Transfer – Costs when data moves across regions/clouds.
Manager’s Tip: Request a monthly breakdown by category—this highlights optimisation opportunities quickly.
Right-Size Your Virtual Warehouses
- Start small (XS/S warehouses) and scale as workloads grow.
- Use multi-cluster warehouses only if concurrency is a proven issue.
- Regularly analyse query performance and usage history.
Technical Tip: Use WAREHOUSE_METERING_HISTORY to spot underutilised warehouses.
Stop Paying for Idle Compute
- Enable auto-suspend (2–5 mins prod, 1 min dev/test).
- Turn on auto-resume for seamless performance.
- Schedule shutdowns for dev/test on nights & weekends.
Many teams cut 30–40% off monthly costs with this single setting.
Control Spend with Resource Monitors
- Set credit quotas by warehouse, team, or department.
- Add alerts at 75% and 90% usage thresholds.
- Optionally suspend warehouses automatically when limits are hit.
Manager’s View: Prevents cost overruns before they happen.
Optimise Storage Strategy
- Purge unused/stale tables.
- Use transient/temporary tables for staging data.
- Reduce Time Travel for non-critical tables from 7 days → 1 day.
Cloud Note: Extra retention + replication = bigger AWS/Azure bills.
Avoid Costly Data Transfers
- Keep compute + storage in the same region.
- Replicate only when compliance demands it.
- Use Snowflake Secure Data Sharing instead of exporting large files.
Golden Rule: Bring queries to the data, not data to the queries.
Write Efficient Queries
- Avoid SELECT *—fetch only required columns.
- Add clustering keys on large tables.
- Use result caching & materialised views for recurring queries.
- Check QUERY_HISTORY for runaway queries.
Training analysts = long-term cost savings.
Make Cost Visible Across Teams
- Query Account Usage schema (WAREHOUSE_METERING_HISTORY, STORAGE_USAGE, etc.).
- Build dashboards in Power BI/Tableau.
- Integrate with Azure Monitor or AWS CloudWatch.
Manager’s Insight: Visibility changes behaviour—teams become self-aware.
Negotiate Better Pricing
- Explore enterprise contracts with upfront commitments.
- Use Azure/AWS enterprise agreements for bundled discounts.
- Review usage & renegotiate annually.
Savings: 10–20% without any technical changes.
Build a FinOps Culture
- Tag workloads for chargeback/showback.
- Run monthly reviews for anomalies.
- Educate teams on best practices.
- Treat credits as currency, not infinite compute.
Executive Takeaway: FinOps empowers teams to innovate without overspending.
Bonus: Azure vs AWS Considerations
- Azure: Strong ties with Power BI & Synapse; monitor egress with non-Azure services.
- AWS: Ecosystem rich in S3, Glue, Redshift integrations; higher risk of cross-region transfer costs.
Strategy is the same: keep compute local, monitor aggressively, optimise continuously.
Conclusion: Smarter Spending, Not Just Cost Cutting
- Cut wasted compute
- Keep storage lean
- Prevent surprise bills
- Build a culture of cost ownership
The goal isn’t to spend less—it’s to spend smarter, while keeping performance and agility intact.