← 피드로
Originally published on PrepStack. Cross-posting the TL;DR here.
Finance pinged us on a Monday: our Azure bill was up ~150% month-over-month and still climbing — and nobody had shipped a “big” feature. This is the investigation on a real production SaaS (.NET 9 / ASP.NET Core, Angular 19, ~110k MAU, ~3,200 req/sec on Azure): the seven causes, and the fixes that cut the bill 60%.
Where the money went (before -> after)
Cost driver Spiked After fix What it was Log / telemetry ingestion $3,100/mo $340/mo A Debug log level left on -> GBs/day to App Insights Compute (autoscale) $3,400/mo $1,500/mo Scale-out rule, no scale-in Orphaned resources $1,900/mo $0 Load-test env + unattached disks/IPs Egress / bandwidth $1,200/mo $280/mo Large files, no CDN SQL + Redis $1,600/mo $900/mo Premium tiers + no reservations Storage transactions $500/mo $190/mo Millions of tiny blob ops, hot tier AI / LLM tokens $400/mo $190/mo Uncached RAG, oversized model Total ~$12,100/mo ~$4,700/mo -60%What it covers
- Turning the lights on first: tagging, a cost dashboard, anomaly alerts
- The diagnostic queries (
az consumption, KQL log-ingestion-by-source) - Before/after config for each fix (adaptive sampling, autoscale Bicep, blob lifecycle, CDN + compression, LLM caching + model routing)
- A FinOps checklist so it doesn’t recur
- The honest limits of cost optimization
The lesson: most runaway bills are a visibility problem, not an architecture one — two config mistakes and some deleted waste did most of the work. ~3 days to fix, paid back in ~2.
Full post with real Azure config, queries, and dollar figures: https://prepstack.co.in/blog/azure-bill-spiked-how-we-cut-it-60-percent
답글 남기기