Skip to main content
GullySystem
Cloud Cost Optimisation

Cloud bill analysis, tagging, right-sizing and storage review for AWS, Azure and Google Cloud

The work begins with the bill. Every line of the AWS, Azure or Google Cloud invoice is read, resources are tagged to services and owners, and usage is measured before anyone changes a setting. Right-sizing, reserved capacity, storage tiers and unused resources follow. Performance is recorded around each change.

  • Performance is measured before anything is reduced
  • Removal of a resource needs confirmation from its owner
  • Changes are made in your own cloud account

We work on cloud bills for SaaS teams whose hosting cost grows faster than their customer numbers, and for businesses that lifted servers into the cloud unchanged. Some invoices cannot be explained at all. The first setup was never written down. The work is plain. Tag, measure, right-size, switch off the unused.

The problem

Where Cloud Bills Become Hard to Explain

Bill Increases Without a Traced Cause

The invoice lists services, not purposes. A rise goes unnoticed until renewal, and by then the change behind it, perhaps a new queue, an extra replica or a forgotten test cluster, is rarely traced.

Servers Sized for Expected Traffic

Instances get picked for launch traffic. Processor use then sits low through the whole working day, yet the same machines are billed every single hour, and nobody revisits the choice once the product is live.

Staging and Test Running Overnight

Staging and test run at full size through nights and weekends because nobody automated the shutdown, and the meter keeps ticking while the whole team sleeps. Idle hours add up fast.

Snapshots and Disks From Retired Servers

Backups pile up. Volumes stay behind after a server is replaced, and storage grows quietly because nothing fails when too much of it is kept.

All Data in the Highest Storage Tier

Old logs, customer uploads and one-time report exports sit in the tier meant for constant reads, billed at the hot rate. Most were never opened again after the day they were written.

Setup Without Tags or Documentation

Resources carry names such as test-2 or final-new, with no tags and no notes, and nobody switches anything off because nobody can say what depends on it. So everything stays on.

Cost Cuts Made Without Measurement

A resize done without baseline figures can slow the application and fail orders at checkout, so the saving is reversed within weeks. Engineers remember that outage. The next attempt meets resistance from the people who must approve it.

Cutting a bill before measuring is a gamble. A safer route first finds what each line pays for, which resources have a named owner, and how much headroom each workload needs at its busiest hour.

What we build

Measure, Attribute, Then Reduce What Is Spare

First, make the bill readable. Every resource is tagged to a service and an owner, so each line of spend can be traced to a purpose. Actual use is then measured across a representative period, and changes follow in order of risk, starting with resources nobody uses. Performance is compared before and after each one.

Illustration with sample figures. Your screens are built around your own records.

Attribution Before Reduction

Every resource needs a purpose tag and a named owner. Tagging is dull work. Yet every later step, from cleanup to commitments, leans on it completely, so it comes first in every review we run.

Risk-Ordered Changes

Unused resources go first. Next come schedules, storage tiers, right-sizing and commitments, in that order. Production waits. Once those workloads are touched the lower-risk items are already done, so a mistake costs little and is easy to undo.

Performance Measured on Both Sides

Response times, queue depth and error rates are recorded before a change and watched afterwards, and a change that slows the application is reversed. No argument needed.

What changes

What Changes After a Cost Review

What the business gets, before any talk of technology.

Readable

A Bill Explained Line by Line

Spending is attributed to services, environments and customers, so a rise can be traced to its cause the week it happens. It no longer waits for renewal.

Schedules

Non-Production Environments on a Schedule

Test and staging environments run during working hours, stop afterwards and restart on a schedule, while production systems that customers use are not touched. That boundary is written down before any timer exists.

Sizing

Machine Sizes Based on Measured Use

Instances and databases move to sizes chosen from measured load, with headroom kept for peaks, and the launch-day size stops being the default. Measured use is the reference. It is revisited whenever traffic changes shape.

Tiers

Storage Tiers Matched to Data Age

Logs, backups and archives drift to cheaper tiers through lifecycle rules, while data the application reads every minute stays exactly where it is. Nothing hot is moved.

Commitments

Reserved Capacity on Steady Workloads

Reserved instances or savings plans cover the baseline that runs all year, and they come after right-sizing, never before it, so the commitment fits the settled machine and not the oversized one.

Unit Cost

Cost per Order, Tenant or User

Infrastructure cost is tracked per transaction, tenant or user, so growth in the bill can be set beside growth in orders, sign-ups or active accounts, month after month. Margin becomes visible.

Scope of service

What a Cloud Cost Review Covers

Everything from the first discovery session to production and long-term upkeep.

Bill and Usage Analysis

The invoice is split by service, resource, environment and region. The largest items are explained in business terms, and every month-on-month increase is traced to the change that caused it. Not just noted.

Tagging and Cost Attribution

Each resource is tagged to a service, environment, owner and, where relevant, a customer, and tag policies cover new resources so they arrive labelled. Retrofitting later is slow and error-prone.

Baseline Performance Measurement

Response times, throughput, error rates and processor, memory, disk and network use are recorded across a representative period that includes the busiest day. This comes before any change, never after.

Idle and Orphaned Resource Cleanup

Unattached disks, old snapshots, unused elastic addresses, load balancers with no targets and forgotten test environments are listed against an owner. Removal waits for that owner to confirm.

Environment Scheduling

Development, test and staging shut down outside working hours and restart on their own. A nightly data load or any other job that has to run overnight goes on an exception list, with a reason and one named owner beside it.

Compute Right-Sizing

Instance families and sizes are chosen from measured use, with headroom for peaks, and newer generations are considered where they offer the same capacity at a lower hourly rate. Many accounts still run old ones.

Database and Managed Service Review

Database instance classes, storage settings, backup retention, read replicas and managed services are checked against actual load, because over-provisioning often hides here. A size was picked once, at launch. Nobody revisited it.

Storage Tiering and Lifecycle Rules

Objects move to cheaper tiers as they age. Retention is set for logs and backups. Duplicate copies of the same export, found in more than one bucket, are traced to their source and then removed.

Reserved Capacity and Savings Plans

Commitment analysis comes after right-sizing. It covers the baseline that runs all year, the commitment type that suits it, whether a savings plan or reserved instance, and what stays on demand.

Data Transfer and Network Cost Review

Charges for data leaving the cloud, traffic between zones, NAT gateway costs (the fee for private servers reaching the internet) and content delivery settings are examined, since transfer is the least visible line on the invoice. It grows quietly with every new integration.

Architecture Changes Where Settings Are Not Enough

Some savings need a design change. Caching, spot capacity for batch work, serverless functions for spiky loads, and merging environments that duplicate each other are the usual examples.

Budgets, Alerts and Ongoing Governance

Budgets are set per environment, with alerts on anomalies and a monthly look at new spending, while rules stop a resource created in a hurry from running for a year unowned. Expiry tags help.

Where it is used

Where Cloud Cost Reviews Are Used

The processes this service is most often asked to set up and automate.

SaaS Product With Growing Hosting Cost

A SaaS company finds hosting cost outrunning its customer count. Tagging per tenant shows which accounts drive database load, right-sizing follows measurement, and commitments cover only the steady baseline that never drops below a known floor.

Distributor With Servers Moved Unchanged

A distributor copied physical servers into instances of the same size, running day and night. Application servers are right-sized after measurement. Overnight batch jobs move to a schedule that stops holding capacity through the whole afternoon.

Agency With Many Client Environments

An agency builds staging and demo environments for every client project, and some outlive the engagement by years. Tagging by client makes them visible, account managers confirm each removal, and new ones get expiry tags from day one.

E-Commerce Brand With Growing Storage

An online store keeps product images, order exports and logs in the standard tier. Lifecycle rules move older objects down. Images the site serves stay put behind a content delivery network, so page loads are untouched.

Manufacturer With a Database Sized for a Migration

A large database instance was provisioned for a one-time data migration and never reduced. Real load is measured first. The resize happens in a planned window, with query times compared on both sides of the change.

Startup With a Small Bill

A small team with a modest monthly bill asks for a review. The setup is small. Budget alerts and tagging keep growth visible for now, and a full review can wait until the mostly managed account has grown.

Audience fit

Is this the right service for you?

It suits businesses that have outgrown manual processes and want a system they can rely on.

Businesses With a Rising Cloud Bill

The invoice has grown steadily. Nobody can say why. That is common where nothing is tagged and the bill lists services, not purposes, so every increase looks equally mysterious to the finance team and to engineering.

Companies That Moved Servers Into the Cloud

Physical machines were copied into instances of the same size and run the same way. A migration done like this can cost more than the data centre it replaced. Rent took the place of ownership, with nothing gained.

SaaS Teams Tracking Margin

Hosting is a real share of revenue. The question is what one customer costs to serve, not only what the total bill was last month, because margin is decided per account.

Businesses With an Undocumented Setup

A consultant configured the account and left no documentation. Nobody dares switch anything off, because nobody knows what hangs on it, and the unexplained spend simply carries on from month to month.

Teams With Many Environments

Development, test, staging, demo and per-client environments multiply easily. Creating one takes a click. Removing one is often nobody’s job.

When a Review Is Not Needed Yet

If the monthly bill is small and the environment is mostly managed services, a review may cost more than it saves. Budget alerts and tagging are a sensible start. The same applies where the real problem is a slow or unreliable application, since performance work and cost work pull in opposite directions. Performance is settled first.

What it does

What it can do, in plain terms.

Cost Attribution by Tag

Spending is split by service, environment, team and customer. Tagging rules reach new resources from the first day.

Usage Measurement Over Time

Processor, memory, disk, network and request metrics are gathered across a representative period, peak days included, so the picture is never built from one quiet week.

Right-Sizing Recommendations

Sizes are proposed from measured use. Headroom for peaks is stated beside each one.

Idle Resource Detection

Unattached volumes, old snapshots, unused addresses, empty load balancers and forgotten environments are identified, each with a named owner who can say yes or no to removal.

Scheduled Start and Stop

Non-production environments switch off outside working hours. A single command brings one back when somebody needs it, so developers are never locked out of a stopped environment for long.

Storage Lifecycle Rules

Objects move to cheaper tiers by age. Retention rules cover logs, backups and exports.

Commitment Planning

Reserved instances and savings plans are analysed against the settled baseline, and coverage is deliberately kept below full usage, so a later architecture change does not strand the commitment.

Spot and Burstable Capacity

Interruptible or burstable capacity runs the batch, build and test workloads that can tolerate a restart, while customer-facing services stay on stable machines. Spot is never used for a checkout path.

Data Transfer Analysis

Egress, cross-zone and gateway traffic is examined, and content delivery or routing changes are applied only where they genuinely cut it.

Budgets and Anomaly Alerts

Per-environment budgets raise an alert when spending deviates. A runaway resource is caught that same week, not at month-end when the invoice lands and the damage is done.

Unit Cost Tracking

Cost per order, tenant or user is tracked month after month, so growth in the bill can be read against growth in the business. That is the comparison that actually matters.

Before and After Evidence

Performance and cost are both recorded around each change. Results are shown in figures.

How the work runs

How the work runs, step by step.

From the first conversation to a release your team uses every day. Each step says what you provide and what you get back.

  1. 01

    Billing Review and Access

    Twelve months of billing data and read-only access to the accounts are reviewed. From the client we need billing access, a list of the environments that matter, and a note of what nobody understands any more.

  2. 02

    Tagging and Attribution

    Every resource gets a service, environment and owner tag. The client provides people who can identify what nobody else recognises, because deleting an unexplained resource is how outages begin in most accounts.

  3. 03

    Baseline Measurement

    Performance and usage are recorded over a representative period. The client shares when its peaks fall, because a review run in a quiet fortnight gives advice that can fail in a busy month. Peaks matter most.

  4. 04

    Findings and a Ranked Plan

    A written report lists each opportunity with estimated saving, risk and effort for the client to read, question and rank. The client decides what may be switched off. Some resources must stay regardless of cost.

  5. 05

    Implementing in Order of Risk

    Unused resources go first. Then come schedules and storage, right-sizing in planned windows, and finally commitments. The client agrees change windows for anything touching production, plus a way back, well in advance. Nothing is rushed.

  6. 06

    Verification and Governance

    Performance is compared against the baseline, savings are checked on the next bill, and budgets and alerts are set before the engagement closes. The client names an owner for the monthly review. An unwatched bill drifts back up.

Asset handover

What you receive when the work is done.

Everything needed to run, maintain and extend the software without depending on us.

Twelve-month cost analysis by service, environment and resource
Tagging scheme applied, with rules for new resources
Performance baseline covering a representative period and your peak
Ranked findings with estimated saving, risk and effort for each
Inventory of idle and orphaned resources with owners identified
Scheduling configured for non-production environments
Storage lifecycle and retention rules in place
Commitment recommendation with coverage deliberately kept conservative
Before and after comparison of both performance and cost
Budgets, anomaly alerts and a monthly review routine handed over
Connected ecosystem

It connects to the systems you already use.

Tools that work stay. The new system is joined to them rather than replacing them.

Cloud Platforms

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud
  • DigitalOcean
  • Regional and smaller hosting providers

Cost and Billing Tools

  • AWS Cost Explorer and Budgets
  • Azure Cost Management
  • Google Cloud Billing reports
  • Cost and usage report exports

Monitoring

  • Amazon CloudWatch
  • Azure Monitor
  • Prometheus and Grafana
  • Application performance monitoring

Infrastructure Tooling

  • Terraform
  • Kubernetes
  • Docker
  • Auto scaling groups
  • Managed database services

Reporting and Alerts

  • Email and Slack alerts
  • Metabase and Power BI dashboards
  • Scheduled cost reports
  • Anomaly notifications
Technology

Chosen for reliability and a long life.

Picked to match your scale and to stay maintainable for years.

Analysis

Cost and usage reportsBigQuery and Athena queriesPython and pandasTag policies

Measurement

CloudWatch metricsPrometheusGrafana dashboardsLoad testing with k6

Automation

TerraformLambda and Cloud FunctionsScheduled scalingLifecycle policies

Compute Options

Reserved instances and savings plansSpot and preemptible capacityBurstable instancesServerless

Storage

Object storage tiersArchive and cold storageSnapshot lifecycleContent delivery networks
Why GullySystem

Why owners choose GullySystem.

Measurement Before Changes

A baseline across a representative period, busiest day included, comes before any change, because failed cost exercises are often a resize done with no data behind it. We measure first. Always.

Lower-Risk Savings First

Unused resources go first, then schedules, storage tiers and production right-sizing, so much of the reduction can be taken before anything a customer touches is altered. Risk rises slowly.

Owner Confirmation Before Deletion

Every candidate for removal is listed and confirmed by someone who knows what it was for. An unexplained resource is a question, not a target. It stays until somebody answers.

Conservative Commitments

Reserved capacity covers the baseline that runs all year. It follows right-sizing. Committing early would lock in the oversized machine the review set out to fix, for a year or more at a time.

Evidence on Both Sides

Cost and performance are both recorded around each change. A change that hurt response times is found and reversed by us, not by complaints reaching your support desk on a busy morning.

Advice Not to Proceed When Warranted

A review on a small bill can cost more than it saves. Then the advice is alerts and a tagging habit. Nothing more. We say so plainly before any work starts.

Ways of working

How the engagement can be shaped.

Each model says what it suits and how the work is scoped. Pick the one that fits, or ask which one we would suggest.

Cost Assessment

Findings and a ranked plan

For an account where the bill climbs and nobody can say why, named accounts form the scope of the assessment. A cloud engineer and an analyst read billing, tags and usage through read-only access that your contact arranges. Another account arrives by separate note, priced in advance. The ranked report ends it; access is removed.

Optimisation Project

Findings implemented

It fits a team that already holds the findings and wants them applied safely, scoped by change window and billed phase by phase. A cloud engineer makes each change, a QA engineer checks behaviour, and your contact approves the window and holds the rollback decision. A fresh opportunity is priced in writing before it joins the queue. Runbooks are handed over at the close.

Architecture Redesign

Where settings are not enough

Meant for workloads where settings alone cannot deliver the saving, so the design itself changes; each redesign is a separate scope. A solution architect and a cloud engineer write the design note first, and your application owner reviews it and approves cutover. A design change midway is priced as a written amendment before the work continues. Old resources are retired after sign-off.

Ongoing Cost Governance

Reviewed monthly

Suited to a company that has trimmed its bill and wants it to stay trimmed; an engineer’s recurring time is paid by the month. The engineer watches budgets, alerts, commitments and unit cost, and your contact joins the review and decides on each flagged item. A request outside the routine goes into a written note with its price first. Alert rules come back on exit.

Common questions

Questions owners ask first.

Plain answers to the questions asked before work starts.

How much can we expect to save?

It depends on the account, and no figure is given before the account has been reviewed. Savings usually sit in environments running out of hours, resources unused for months, storage never moved to a cheaper tier, and machines sized for traffic that did not arrive. Some accounts are already well managed. Then little can be taken. Each item gets its own saving and risk.

Will cutting costs slow our application down?

No, not where performance is measured on both sides of every change. Response times, throughput, error rates and resource use are recorded across a representative period, busiest day included, before anything is altered. Production changes happen in planned windows, with a way back agreed in advance and metrics watched afterwards. Where performance suffers, the change is reversed.

Where should we start?

With tagging. Until each resource carries a service, an environment and an owner, a cost review is guesswork. Tagging also reveals the easy items: environments from finished projects, disks attached to nothing and duplicated backups. After those come idle resources, then schedules, storage tiers and right-sizing, and finally commitments, always in that order.

Should we buy reserved instances or a savings plan?

Usually, but after right-sizing and not for every workload. Committing first locks in oversized machines. The sequence is to right-size, watch the settled usage for a while, then commit on the baseline that runs all year, leaving the variable portion on demand. Full coverage looks efficient on a spreadsheet. It becomes a burden when the architecture changes.

Why did moving to the cloud cost more than our own servers?

Often because the servers were copied rather than redesigned. A physical machine sized for peak load, replicated as an instance of the same size and run every hour, is rented continuously, where the hardware was paid for once. Cloud pricing suits workloads where capacity follows demand, through scheduled environments, autoscaling, managed services sized to actual load and storage that ages into cheaper tiers. That is a design change.

Is it safe to delete old snapshots and unused disks?

Only after someone confirms what each one is, so removal is never done from a script. The list goes to the owners of those services, showing what each item is attached to and when it was last used. Anything unexplained stays. Where there is doubt, resources are stopped rather than deleted, which keeps recovery quick, and retention rules then stop the same build-up.

Can you work in our cloud account, or do we move to yours?

Work is done in your account. We are added with the access needed and no more, starting with read-only access for the assessment, and change permissions arrive only for implementation. Savings appear on your own bill. You keep the relationship with the provider and hold any commitments recommended, whereas reselling through a vendor’s account makes it harder to leave.

What about data transfer charges?

Data transfer is a line that is easy to miss, because it never appears in a resource list. Traffic leaving the cloud, traffic between availability zones, NAT gateway charges and backups copied to another region all add up. Usual measures are a content delivery network in front of public assets, keeping closely linked components in one zone, and compressing what crosses boundaries. Replication across regions is checked for need.

How do we stop the bill creeping back up?

By making it somebody’s task each month, with tooling behind them. That means budgets per environment with alerts, anomaly detection, tagging rules that reject untagged resources, and expiry tags on anything created for a temporary purpose. Tooling helps. The habit matters more, which is a short monthly look at what changed and why, because unreviewed accounts tend to drift back within a year.

What does a cost review cost, and how is it priced?

It depends on the account. The assessment is a fixed piece of work, priced from the number of services and environments, how much is already tagged, and whether the architecture is documented. Implementation is quoted separately once findings are known. Effort depends on which items are acted on. We do not take a share of savings.

Do you work with Azure and Google Cloud as well as AWS?

Yes. The method is the same on all three. Spend is attributed, real usage is measured, idle resources are removed, storage is tiered, and machines are right-sized before any commitment. What differs is vocabulary and tooling, such as savings plans against committed use discounts, and how each provider charges for transfer and managed services. Smaller providers and mixed estates are covered too.

Should we move back off the cloud to save money?

It depends on the workload. A steady workload with predictable load, no need for elasticity and a team able to look after hardware can be cheaper on rented dedicated servers. The comparison must count hardware replacement, redundancy, backups, network, security patching and staff, set against a cloud bill that has been reviewed first. Many businesses that raise this have an unreviewed bill. The review helps settle the question.

What should we measure before cutting anything?

Enough to know what spare capacity exists, over a period that includes a bad day. Measure processor and memory at peak rather than on average, disk input and output, queue depth, network transfer in and out, and application response times and error rates, adding cost per environment and cost per order or tenant where it applies. A seasonal business should measure through the season. A quiet month misleads.

Guides

Read before you decide.

Practical notes on the questions this service raises, not product marketing.

Let’s Connect

Let’s Build the Right Software for Your Business

Tell us about your current operational challenge, spreadsheet bottleneck, or software requirement. An experienced engineer will review your workflow and reply within one business day.

  • No obligation consultation
  • Senior engineer reviews your brief
  • Your operational details stay 100% confidential

Start with your requirements

Seven short steps that tell us what you need. A senior engineer reads them before anyone gets in touch.

Share your requirements