1. Home
  2. Lower costs
  3. Technical deep dive

Technical deep dive

A cloud bill that goes down and stays down

The levers we pull to cut AWS and Azure spend, in the order we pull them, and the tagging and reporting that stop it creeping back.

  • For CTOs, finance & platform teams
  • Read 9 min
  • Platforms AWS · Azure
01 · Diagnosis

Why the bill grows faster than the business

Cloud cost rarely comes from one big mistake. It comes from hundreds of small defaults that nobody revisits:

  • Test and staging environments running 24 hours a day, 7 days a week, used for 50.
  • Servers sized for a launch-day guess and never resized.
  • Unattached disks, old snapshots and logs kept forever.
  • Steady workloads paying full on-demand prices.
  • Data transfer through NAT gateways and across availability zones that nobody designed for.

Underneath all of it is one problem: no one owns the cost. If a line on the bill can’t be traced to a team and a product, nobody is accountable for reducing it.

02 · Estimate

Estimate your saving

A rough estimate from two of the levers below. Change the numbers to match your bill.

$5,619per month from office-hours schedules
$4,000per month from commitments
$115,429estimated saving per year

Assumes non-production runs 50 of 168 weekly hours (08:00 to 18:00, Monday to Friday) and a conservative 25% average discount on committed spend. Real results depend on your workloads; we measure them in the assessment.

03 · Levers

The levers, in order

We start with changes that are quick and safe, and commit to discounts only once usage has been trimmed. Committing first locks in waste.

LeverTypical effectEffortRisk
Delete what’s unusedUnattached volumes, idle load balancers, old snapshots and imagesLowLow
Schedule non-production168 → 50 billed hours a week, about 70% less for those resourcesLowLow
Modernise storagegp2 → gp3 volumes (AWS lists gp3 at a lower price per GB); S3 lifecycle rules; log retentionLowLow
RightsizeMatch instance size to measured CPU and memoryMediumMedium
Move to GravitonAWS quotes up to 40% better price performance for many workloadsMediumMedium
Spot capacityLarge discounts for interruptible work such as CI runners and batch jobsMediumMedium
CommitSavings Plans or Azure reservations on the steady baselineLowFinancial
Vendor figures are published maximums. We report what your workloads actually achieve.

Architecture changes often save more than any discount.

A NAT gateway carrying traffic that could use a VPC endpoint, or chatty services split across availability zones, can cost more than the servers themselves. We look at data transfer in every assessment.

04 · Ownership

Give every dollar an owner

Four tags on every resource, enforced so they can’t be skipped:

TagExampleAnswers
ownerpayments-teamWho do we ask about this?
productcheckoutWhat does this cost per product?
environmentstagingCan this be switched off at night?
cost-centreCC-1042Which budget pays for it?

In Terraform, default tags are applied by the provider, so engineers don’t have to remember them:

providers.tf
provider "aws" {
    region = "ap-southeast-2"

    default_tags {
    tags = {
    owner         = "payments-team"
    product       = "checkout"
    environment   = var.environment
    "cost-centre" = "CC-1042"
    }
    }
    }

Tag policies in AWS Organizations or Azure Policy then block resources that arrive without them, and the tags are activated for cost allocation so they show up in Cost Explorer and Azure Cost Management.

05 · Scheduling

Switch off what nobody is using

Non-production environments are the easiest saving on most bills. We schedule EC2, RDS, ECS services and Azure VMs by tag, so any resource tagged environment=staging follows the office-hours schedule automatically.

  • AWS: Instance Scheduler on AWS, or EventBridge Scheduler for simpler cases.
  • Azure: Start/Stop VMs and scaling plans.
  • Override: engineers can keep an environment up for a late release with a single tag change, and it reverts the next day.

The same idea applies to offshore desktops. Scaling plans switch session hosts off after the last shift, which is the biggest lever on their monthly cost.

06 · Commitments

Commit only to the floor

Savings Plans and reservations trade a one- or three-year commitment for a lower hourly rate. AWS lists discounts of up to 72% against on-demand pricing. They pay off only on usage you are sure you’ll keep.

  • Commit to the lowest steady level of usage over the last 30-60 days, after rightsizing, not the average.
  • Prefer Compute Savings Plans on AWS for flexibility across instance families, regions and Fargate.
  • Start with one-year terms and add more in layers each quarter, rather than one large purchase.
  • Track coverage (how much usage is discounted) and utilisation (how much of the commitment is used) every month.
07 · Reporting

A report finance can read

Savings fade without visibility. We set up a monthly report from AWS Data Exports or Azure Cost Management with:

  • Spend by team, product and environment, compared with last month.
  • Unit cost, such as cost per customer or per transaction, so growth and waste can be told apart.
  • Forecast against budget, with alerts before a budget is breached.
  • Anomaly alerts for sudden spikes, sent to the owning team.
  • Savings delivered, and the next three actions.
08 · FAQ

Common questions

Will cutting costs make things slower or less reliable?

Not when it is based on measurement. We rightsize from observed CPU and memory with headroom, and leave production redundancy in place. Most savings come from things nobody is using.

How quickly do savings show up?

Clean-up and scheduling show on the next bill. Rightsizing and commitments follow over the next one to two months.

Do you charge a percentage of savings?

No. We charge a fixed price agreed after the assessment, so there’s no incentive to cut anything that shouldn’t be cut.

Do we need a FinOps tool?

Usually not at first. The native AWS and Azure tools cover tagging, reporting, budgets and anomaly detection. We recommend a third-party tool only when you outgrow them.

Next step

Share last month’s bill

A cost export is enough. On a 30-minute call we’ll show you the three biggest savings we can see.