The claim being measured today is the one every migration deck opens with: for a workload of this size, the cloud works out cheaper than running your own iron.
It is a claim worth taking seriously, because for a certain shape of load it is simply true. If demand arrives in bursts nobody can predict, or you need a second region by Thursday and have neither capital nor any appetite for hardware, then renting compute by the hour is the correct answer, and nobody should feel clever about disagreeing. An outage at three in the morning becomes somebody else's pager. That is worth money.
The measurement below is the other shape of load. Steady. Known. The one that never once calls on the elasticity it is paying for.
The Setup
One machine against one machine, matched on what matters.
On the rented iron side, a Hetzner AX102-1: an AMD Ryzen 9 7950X3D with sixteen physical cores, 128 GB of DDR5, two 1.92 TB datacentre NVMe drives, a gigabit link, and traffic that is not counted at all. Three hundred and eight euros and twenty-one cents a month, plus a hundred and fifty-three euros fifty-one once.
On the hyperscaler side, an m7a.8xlarge in Frankfurt, Linux, billed on-demand. Thirty-two vCPUs, which is those same sixteen physical cores with simultaneous multithreading, and 128 GiB. Two dollars twenty-two per hour.
Every figure below comes from the vendor: the Hetzner numbers from its own product matrix, the AWS numbers pulled from Amazon's public price list API on 3 August 2026. Conversions use the ECB reference rate of the same day, 1 euro to 1.1535 dollars. Seven hundred and thirty hours to the month.
The Arithmetic
Compute alone: 1,621.91 dollars, or 1,406.08 euros.
That is already four and a half times the whole Hetzner bill, and the Hetzner machine has not yet been charged for anything else, because there is nothing else to charge for. The 3.84 TB of NVMe is in the price. On the other side it is not, so add 3,840 GB of EBS in the gp3 class at 9.52 cents per GB-month: 365.57 dollars, or 316.92 euros.
Then the part nobody puts in a calculator.
The Line the Calculators Leave Out
Outbound traffic from Frankfurt to the internet: the first 100 GB each month are free, then nine cents per gigabyte up to ten terabytes, dropping to eight and a half, seven, and five cents as the volume climbs.
One terabyte a month therefore costs 83.16 dollars, or 72.09 euros. Ten terabytes cost 912.60 dollars, or 791.16 euros.
Sit with that second figure. Ten terabytes of outbound traffic cost more than a Hetzner AX162-1 with forty-eight EPYC cores costs in its entirety, and that machine also does not count its traffic. You are not comparing a bandwidth charge against a bandwidth charge. You are comparing a bandwidth charge against a whole server.
The totals, then, for the same workload. At one terabyte of egress, 2,070.64 dollars, or 1,795.09 euros against 308.21, which is five point eight times. At ten terabytes, 2,900.08 dollars, or 2,514.16 euros against 308.21, which is eight point two times.
Over thirty-six months, including the Hetzner setup fee: 11,249.07 euros against 64,623.42. The gap is fifty-three thousand euros, on one machine.
The Managed Argument
The usual reply at this point is that the comparison ignores what you get: it is managed, and managing things costs people.
Read the vendor's own shared responsibility model before accepting that, published in full. The provider is responsible for what sits underneath the instance. Everything from the guest operating system upward is yours: the packages, the patches, the configuration, the application. Running EC2 does not mean somebody else updates your Linux. It means somebody else updates the hypervisor.
So the work does not disappear, it moves house, and the container story makes that plainer rather than softer. A base image and a dependency tree carry their own attack surface onto whatever they land on. Nobody is patching that for you either.
There is a real difference in operational knowledge, but it does not run in the direction the sales deck implies. One side asks you to understand machines. The other asks you to understand machines and the platform that administers the machines. That second layer is genuine expertise and it has to be staffed. Whether that is cheaper than the first depends on your organisation, and it is not free in either direction.
Not a Price Question at All
For a portion of readers this arithmetic is beside the point, because the option is closed before the price is discussed.
On 10 June 2025, at a hearing of the French Senate, Microsoft France's director of public and legal affairs was asked whether he could guarantee that French citizens' data would never be handed to United States authorities without French authorisation. He answered that he could not guarantee it. Under the CLOUD Act an American company is obliged to produce data regardless of where it is stored, and a European subsidiary cannot decline on its parent's behalf.
That answer was honest and it was not really news, but hearing it said aloud under questioning removed the last comfortable ambiguity. If your data sits under European regulation that forbids that exposure, then no American provider can sell you compliance, however many datacentres it builds in Frankfurt. The choice narrows to European operators or your own machines, and at that point the cost comparison is a bonus, not an argument.
The Limit
Several things push back, and they should be said properly.
On-demand is the most expensive way to buy AWS. A reserved instance or a savings plan cuts the compute line substantially for a committed term, and a serious comparison of a steady workload should assume a serious buyer would commit. That narrows the gap. It does not close it, because the storage and the traffic barely move, and the traffic was the larger surprise.
Rented iron is not free of operations either. There is no live migration off a dying host, spare parts and standby are yours, and backups do not happen because you meant well. If a disk fails at two in the morning, that is your night. The comparison above measures money, not sleep.
And a machine is not a platform. Nothing here delivers a managed database, a queue, an object store or a load balancer, and assembling those yourself is real work that the invoice does not show. For teams that genuinely use the managed estate, the honest figure is somewhere between the two columns.
Also worth saying plainly, since it works against the point: Hetzner has raised prices noticeably. The gap held anyway, which is the more interesting result. This is not a discounter measured against full service. It is one commercial rate against another.
The Point
The elasticity is the product. If your load is steady, you are paying for an option you never exercise, and paying for it every hour of every month.
The bill that decides the argument is not the compute line, which everybody compares and everybody expects. It is the traffic line, which almost nobody puts in the spreadsheet and which can exceed the cost of an entire additional server.
Go and find the egress figure on your own invoice before you next repeat the sentence about the cloud being cheaper.