Your Azure bill grows every month? Where the money goes and how to reduce Azure costs

Your Azure bill keeps growing and nobody knows why? Where the money usually goes, why a stopped app still costs money, and the safe order for cutting costs.

Vlado Pandžić

Vlado Pandžić · Founder · Senior .NET architect
Published · 4 min read

A year ago the Azure bill was acceptable. Today it’s almost twice as big, and the application does the same as it did then. Nobody bought anything new, or at least nobody remembers doing so. The bill simply grows, month after month.

It’s the most common story with Azure, and it almost always has the same explanation: nobody is in charge of looking at what you pay for.

Where the money usually goes

Item Why it grows What to do
App Service plans The plan was scaled up once for a busy period and never scaled back Match the size to actual usage
Test environments They run 24 hours a day, 7 days a week, though someone uses them on weekdays Scale down or switch off outside working hours
Azure SQL A higher tier bought to cover slow queries Fix the queries, then move the database back to a lower tier
Logs and monitoring Everything is recorded, with no sampling and no limit Sampling, log levels and a daily cap
Forgotten resources Disks, IP addresses and snapshots left behind by old tests Find them and delete them
Pay-as-you-go A constant load is paid at the most expensive, flexible price A reservation or savings plan, but only at the end

You stopped the app, and the bill still arrives

This surprises almost everyone. On App Service you don’t pay for the application, you pay for the plan it runs on: every instance of the plan, for as long as it is allocated. If you stop a test application, the plan still exists and is still billed as if it were running.

To actually save money, scale the plan down to a smaller tier or delete it, or put several small applications on one shared plan. The same goes for databases: a test database that is used now and then can move to a tier that pauses itself when nobody uses it.

What a manager can check without an expert

You don’t need to know how to code to get a first picture:

  1. Cost Management in the Azure portal. Costs per resource for the last few months. You usually see straight away which three items make up most of the bill.
  2. Azure Advisor. Microsoft’s own savings recommendations, such as underused resources that can be scaled down or shut down.
  3. A budget with an alert. An amount above which Azure warns you, for both actual spending and the forecast to the end of the month. That way growth no longer arrives as a surprise on the invoice.

The order in which to cut costs

The order matters more than it seems:

  1. LookCosts per resource and usage
  2. Switch off wasteForgotten resources and idle environments
  3. Right-sizeThe right size for plans and databases
  4. CommitA reservation for what remains

The most expensive mistake is to start at the end. Reservations and savings plans give you a lower price in exchange for a one- or three-year commitment. If you buy them before scaling down oversized plans, you have just committed to paying for the excess for three years.

When the saving isn’t in Azure, but in the code

Part of the bill can’t be fixed in the Azure portal. A database on a higher tier because the application sends hundreds of queries for one screen, or a bigger plan because the application is slow, is the same problem as in the article on slow applications: you are paying for hardware to cover for the code. Once the code is fixed, the tier can come down too, and that saving stays every month.

The same goes for monitoring. How to keep Application Insights from eating the bill is in the article on application monitoring.

How we work

ProCoding is a .NET studio from Split, Croatia, and Azure for .NET applications is one of our specialisations. In an Azure cost review we go through the plans, databases, environments, logs and forgotten resources, and you get a list of savings with an estimate for each item, ordered from the biggest to the smallest. The first step is a free 30-minute call.

Sources

Related articles

© 2026 ProCoding — All rights reserved.Legal notice and privacySplit, Croatia