Skip to content
Back to the blog

The cloud is not expensive, it is flexible

Your cloud bill does not measure what you consume: it measures how much freedom to walk away you bought, and almost nobody knows the price they paid for it. This article prices that elasticity premium using the pricing ladder of a gym, shows with napkin arithmetic that half of the savings credited to repatriation can be collected without buying a single server, and explains why every published cloud exit belongs to a company with the same flat load.

In January 2023, 37signals published its cloud bill for the previous year: $3,201,564. The interesting part is not the figure, it is what a share of it was buying. Basecamp had been running roughly the same thing for twenty years, with a traffic pattern that had stopped surprising anyone back when Twitter was still called Twitter. And yet, hour after hour, it kept paying for the ability to hand the servers back the next day.

Nobody was going to hand them back. That is the part that gets invoiced and never discussed.

Your cloud bill does not measure what you consume. It measures how much freedom to walk away you bought, and almost nobody knows the price they paid for it.

Three price tags for the same hardware

At a gym, the same machine has three prices. The day pass is the most expensive per session and ties you to nothing: tomorrow you don't come back and nothing happens. The annual membership gives you that same machine for considerably less, provided you sign. And buying the machine and putting it in your house is the lowest price per session of the three, with the small print that the maintenance, the floor space and the noise are now yours.

This is where the easy analogy has to be switched off, because it is the wrong one. The cloud is not a flat fee you pay whether you show up or not: you pay per use, and anyone building the argument on «paying for a gym you never visit» falls over in the first sentence. What matches is not the shape of the receipt, it is the ladder: in both places the unit price of the same hardware drops as you give up the right to walk away. And in both places the provider's margin comes, to a large extent, from whoever buys that right and never exercises it.

With one difference in the cloud's favour, which is what makes the comparison useful rather than rigged: AWS publishes the price of all three tariffs. Your local gym does not.

How much does the right to walk away cost?

It is on the website, no negotiation and no sales rep involved: Savings Plans cut the bill by up to 72% against on-demand pricing in exchange for committing to an hourly spend for one or three years. In the fine print the ceiling depends on the type: up to 66% on the flexible compute plan, up to 72% if you tie yourself to an instance family in one region.

Put the other way round, which is how it sinks in: the day pass costs about three and a half times the annual membership. That is not a hidden surcharge or a rip-off, it is the price of an option, and it is priced correctly. The question is whether you are exercising it.

Here is the sum, with the assumptions in plain sight so you can redo it with yours. One compute unit at one dollar an hour, 730 hours a month, and a commitment discount of 60%, which sits inside the published range. A service with a trough of 28 units, a peak of 40 and a mean of 32: a peak factor of 1.25, which is to say the same flat load as always with a bit of relief in the afternoons.

  • Everything on demand, religiously paying only for what you use: 32 × 730 = $23,360 a month.
  • The trough committed and the peak on demand: 28 × 730 × 0.40 = 8,176, plus 4 × 730 = 2,920 for the variable part. Total, $11,096 a month.

52% less. Without touching a line of code, without migrating anything, without an architecture meeting. The same load, in the same place, with the same provider.

Hold on to that 52%, because it is the number that turns this article into an argument.

Why is it always the same companies that leave?

In 2021, a16z published The Cost of Cloud, a Trillion Dollar Paradox and estimated that repatriating workloads cuts between 30% and 50% of the spend. Corey Quinn has been replying ever since, with data and with venom, that cloud repatriation isn't a thing: that the enthusiasts are mostly vendors with hardware to shift, and that the catalogue of real cases is suspiciously short.

Both are right, which is why the argument never moves. a16z's arithmetic is correct and so is Quinn's observation. What is missing is the question of why the catalogue is so short, and that is where it gets interesting.

Look at who always shows up on that list. Dropbox saved $74.6 million in two years by building its own storage infrastructure; it holds exabytes that are not going anywhere on Tuesday. Ahrefs reckons it avoided $400 million over three years by not moving to the cloud; it crawls the web twenty-four hours a day, every day. 37signals expects to save $10 million over five years on a little over $600,000 of Dell servers; its load is a subscription SaaS with twenty years of history behind it.

All three share the same profile, and it is not «they spent a lot». It is that their peak factor is essentially one. There is no elasticity to exploit because nothing moves.

The published cloud exit stories do not prove that the cloud is expensive. They prove that the elasticity discount is only collected by whoever has variance.

The sample is selected for low variance, and out of that comes an uncomfortable warning for anyone reading those cases in search of permission: reading the Ahrefs post and concluding that you too should buy servers is about as rigorous as buying an Olympic pool because it pencils out for a professional swimmer.

Decision ladder based on the peak factor: on demand, committed trough, one to three year commitment and, only at the end, buying hardware.

You climb the ladder in order. Your peak factor decides which step you get off at.

And what if my load really does spike?

Then congratulations: you are getting what you pay for, and this article is not about you.

The same sum in reverse. A trough of 5, a peak of 100, a mean of 20; a peak factor of 5, which is any ordinary e-commerce or anything with real seasonality. On demand that is $14,600 a month. Committing the trough brings you down to $12,410, a whole 15%. And if you buy hardware to cover the peak, you buy a hundred units to use twenty on average: you pay five times over for the equipment you actually exploit, and then on sale day you discover the real peak was a hundred and twenty.

There the elasticity premium is not a tax, it is the product. Collect it.

The good thing about reasoning in steps is that it extends itself. A development environment used eight hours a day, five days a week, has a peak factor above four: that is the day pass case, and what it calls for is switching it off at night, not committing it for three years. Two teams that need the same capacity on different shifts bring the moment of buying the machine forward, because they share it. The ladder is not a table you memorise, it is a sum you redo.

«But committing for three years is the lock-in I was running from»

I know exactly what you are about to say:

You are asking me to sign three years with AWS!

Yes. And before you get indignant: you are already locked in, whether you sign or not. The difference between a spend commitment and a hall full of hardware is that the first is a line with an expiry date on a spreadsheet, and the second is a colocation contract, a five-year hardware refresh cycle and an on-call rota. The commitment expires by itself. The datacenter has to be dismantled.

And here is the part of the analogy most people skip: when you buy the machine, you also buy oiling it. 37signals maintains that it pulled off its exit without changing the size of its ops team, and I believe them; it is also the least transferable part of their story, because they had spent a decade running their own hardware before entering the cloud and they have Ruby on Rails in the same building. If your repatriation plan depends on replicating 37signals' ops team, your plan is to hire 37signals.

Meanwhile, Flexera's survey puts at 29% the share of cloud spend that organisations themselves consider wasted. That is the percentage going into capacity left running with nobody on it, and it is more than most repatriation plans promise to save. Before you change gyms, check whether the treadmill has been plugged in and empty for two years.

My suggestion

Measure your peak factor before you have an opinion about the cloud. It is a division: the 95th percentile of your usage divided by your mean usage, over the last ninety days of data. Do it per service, not per account, because the organisation-wide total averages one team's peaks against another's troughs and hands you a reassuring, false number.

  • Below 1.3: your problem is not the cloud, it is the tariff. You are paying for the day pass to show up every day.
  • Between 1.3 and 2: commit the trough, leave the peak on demand and measure again next quarter.
  • Above 2: you are using the elasticity you pay for. Go and optimise something else, and you certainly have something else.

And if you are anything like me, you will read this, decide your case is special and want to buy servers anyway. Do it. I only ask one thing first: put a commitment on your trough, wait twelve months and look at the bill again. If with the bill already corrected the hardware savings still justify the hall, the on-call rota and the refresh cycle, then you have a real case and I would love to read it. ;)

References

Our cloud spend in 2022 — 37signals

We stand to save $7m over five years from our cloud exit — David Heinemeier Hansson

Basecamp-maker 37signals says its cloud exit will save it $10M over 5 years — Ars Technica

Savings Plans — AWS

Compute Savings Plans and Reserved Instances — AWS documentation

The Cost of Cloud, a Trillion Dollar Paradox — Sarah Wang and Martin Casado, a16z

Cloud Repatriation Isn't a Thing — Corey Quinn

Dropbox saved almost $75 million over two years by building its own tech infrastructure — GeekWire

How Ahrefs Saved US$400M in 3 Years by NOT Going to the Cloud — Ahrefs

2026 State of the Cloud Report — Flexera