Skip to main content

About $4,500 a Month to About $100: The Run-Rate Math of Leaving the Cloud

Jacob Baloul· Oct 8, 2026·6 min read

About $4,500 a Month to About $100: The Run-Rate Math of Leaving the Cloud

In 2019 we paid Amazon Web Services an average of about $4,500 a month. Today our infrastructure runs for about $100 a month, on hardware we own.

That is the headline. This post is the math behind it: what the run rate was at its worst, what it is now, what replaced each line on the bill, and what the $100 leaves out. The full decade-long story, from our first cloud function to the exit, is in the companion piece, $244K Later: Why We Left AWS for Our Own Hardware.

The win, in one table

Peak cloud (2019) Today
Average monthly cost about $4,500 about $100
Yearly cost $53,674 invoiced ($39,689 after credits) about $1,200
Highest single month $24,473 (Dec 2019) about $100
Cloud functions 97 at peak none; scheduled scripts instead
Buzzwords calculations switched off, priced out running again

Against the 2019 invoices, the yearly difference is $53,674 − $1,200 = $52,474. Against what we actually paid after credits, it is $39,689 − $1,200 = $38,489 a year. Both are honest comparisons, and the second is the conservative one.

The more meaningful number is in the last row. As Jacob, our CEO, puts it, the cloud costs to run Buzzwords and RoboTrader were breaking the bank. Buzzwords' calculations were the clearest casualty. They ran on cloud functions against a cloud database, and in Jacob's words, "a single day of calculations cost a fortune." On our own hardware those calculations are effectively free, and in September 2026 the engine came back online at buzzword.today.

What a month used to look like

The worst month was December 2019. The invoice came to $24,473, and $20,759 of that was Lambda. That one month held every dollar of Lambda we spent in 2019.

At today's run rate, $24,473 would cover about 245 months of infrastructure ($24,473 ÷ $100), or a bit over 20 years. To be fair to AWS, they later issued an $11,079 credit against that bill. Even after the credit, the month cost $13,394, which is about 134 months, or 11 years, at today's rate.

The run rate, year by year

Here is the average monthly bill for each year since 2019, computed from the invoices (year total ÷ 12):

Year Invoiced Average per month
2019 $53,674 ~$4,470
2020 $21,381 ~$1,780
2021 $20,613 ~$1,720
2022 $49,880 ~$4,160
2023 $33,788 ($29,833 after credits) ~$2,820 (~$2,490 net)
2024 $15,272 ~$1,270
2025 $5,776 ~$480
2026 (Jan–Feb) $336 ~$170

Two things stand out.

First, the line doesn't go down smoothly. 2020 and 2021 looked like progress, then 2022 nearly matched the 2019 run rate. The invoices show why: EC2 compute, DynamoDB, the support plan, managed MySQL, storage and the governance tooling were all still billing while the replacements came up. We were running both worlds at once. The companion piece breaks that year down line by line.

Second, the last few hundred dollars are stubborn. In 2025 we were still paying about $480 a month, and in early 2026 about $170. Cutting from $4,500 to $500 took years. Cutting from $500 to zero is taking more than a year on its own, because what's left is the boring stuff: archived storage, DNS and the account structure itself.

What replaced each line on the bill

Lifetime service totals tell you where the money went. These lines reconcile to the invoices but may not capture every charge, so read them as "at least".

Cloud line (lifetime) What replaced it
EC2 compute, $87,281 Virtual machines on servers we own
Lambda, $33,137 Python scripts on cron
Business Support, $21,399 Us. We own the 3 a.m. pages now
Managed MySQL (RDS), $20,601 MySQL we run ourselves
S3 storage, $16,946 Our own disks and backups
DynamoDB, $16,100 CouchDB, same single-table data model
CloudWatch, $11,720 Our own monitoring scripts and agents
WAF, Config, CloudTrail, $12,994 Our own edge and our own audit trail

The WAF, Config and CloudTrail figure adds $6,364 + $3,772 + $2,858.

The biggest single change was moving from per-call pricing to a fixed cost. In the cloud, the Buzzwords calculation was expensive because every step was metered: each function call, each database read, each log line. On hardware we own, a calculation that runs all day costs the same as one that doesn't run at all. That is why "effectively free" is the right phrase. The marginal cost is close to zero once the machine is paid for and switched on.

Another favorite example comes from RoboTrader. Twenty-four of its cloud functions were the same time-window code, deployed once per window, from one minute to ten weeks. On a cron schedule, that became one script with a parameter.

What the $100 leaves out

This is where cloud-exit posts usually get vague, so here is what the number doesn't include.

It's an estimate. About $100 a month is our estimate for power and internet. It hasn't been audited, and we won't pretend it's exact.

It excludes the hardware. We already owned the machines, so the monthly figure doesn't include what they cost to buy or what it will cost to replace them. If you're starting from zero, you have to price that in.

It excludes our time. AWS Business Support cost us $21,399 over the years. Now support is us. Disks fail, power blips, certificates expire, and backups need checking. Some of that work is done by our AI agents, and some of it lands on a human at a bad hour.

It isn't zero cloud yet. Two months of 2026 invoices still total $336. We'll call this finished when that line reads $0.

None of this changes the answer for us. Even if the true all-in cost were several times the estimate, it would still be a fraction of the run rate we left. But the honest version of the math names what's missing.

The good, the bad and the ugly

The good. The run rate fell from about $4,500 a month to about $100. The workload we couldn't afford in the cloud is running again. And every dollar is now predictable: no metered surprises, no line items for services we forgot about.

The bad. It took years. The run rate was still about $1,270 a month in 2024 and about $480 a month in 2025. For years we paid for an exit we hadn't finished.

The ugly. In 2022, two years into the move, our run rate climbed back to about $4,160 a month, almost the 2019 peak. Running both worlds at once costs more than running either one alone.

If you're doing the same math

  1. Compare run rates, not totals. Lifetime spend is a good story. The monthly run rate is what drives the decision.
  2. Price the fan-out. A workload that's cheap per call can be ruinous per day. Model a full day of real traffic before you ship it.
  3. Count the overlap. Budget for paying twice while both systems run. Then shorten that window on purpose.
  4. Chase the last $500. The tail looks small, but it adds up. Ours was about $480 a month for all of 2025.
  5. Be honest about your own cost. Power, internet, hardware and your time. If the math still works with all four, go.

Want the same result for your cloud bill?

We cut our own AWS bill from $53,674 a year (2019, as billed) to about $100 a month, and we kept every product. That work is led by an AWS Certified Solutions Architect – Professional who holds six AWS certifications, including DevOps Engineer – Professional and Security – Specialty. Because we built these platforms on AWS first, we know what belongs in the cloud, what to bring onto your own hardware, and how to move it without breaking anything. Send us your bill and we'll show you where the money goes.

Get a cloud cost review · See our services

Further reading: $244K Later: Why We Left AWS for Our Own Hardware · Leaving AWS: 97 functions, our own hardware · The Buzzwords revival · buzzword.today


Part of the Cloud Exit series on d-e-v.com. Previous: $244K Later, the full decade story. Next: "DynamoDB to CouchDB: Why We Left NoSQL for NoSQL."

3 views0 comments

Add new comment

Comments

Comments appear after review.

Recent Posts

See All