Graviton cut the compute line 38%. Here's the part nobody mentions.
The migration was a weekend. The benchmark caveats — and the 38% that wasn't free — were the real work.
We moved a stateless API fleet from m6i to m7g and the compute line dropped 38%. The rebuild for arm64 took a weekend. That’s the headline, and the headline is the least interesting part — because not all of that 38% was Graviton, and pretending it was is how you set a target you can’t repeat.
The honest build-up
| Config | Instances | € / month |
|---|---|---|
| Before — m6i.2xlarge | 40 | 28,400 |
| After — right-sized, m6i | 32 | 22,700 |
| After — m7g.2xlarge | 32 | 17,600 |
| Net change | −38% |
Read the middle row. Before we touched the instance family, right-sizing alone took us from 40 to 32 instances — a 20% cut we could have banked on x86 and probably should have months earlier. Graviton then delivered a further ~22% on top. So the real attribution is roughly half right-sizing, half Graviton, not a clean 38% arm dividend.
If you benchmark a right-sized arm64 fleet against a bloated x86 one, you’re measuring two changes and crediting one.
The caveats that were the actual work
- Apples to apples. Right-size both sides first, or your “Graviton saving” is partly just overdue housekeeping.
- The arm64 tail. Two native dependencies had no arm builds. A weekend for the app, a week of chasing a base image.
- p99 held — verify it. Ours stayed flat, but that’s a measurement, not a promise. A latency-sensitive workload deserves its own before/after.
Graviton is still the easiest double-digit win in the catalogue. Just don’t let it take credit for the cleanup you owed anyway — your next forecast has to stand on the real number.