Definition · Break-even utilisationLet r be the price of a reserved instance-hour, charged for every hour of the term, and d the price of an on-demand instance-hour, charged only when the instance runs. Over a term of H hours an instance that runs uH of them costs rH reserved and duH on demand, so reserving is cheaper exactly when
u > u* = r/d.
The term length H cancels, so u* is a property of the two prices alone.
7¢ against 12¢ gives u* = 7/12 = 58.3%. Read it as a duty cycle: an instance that will be up for more than fourteen hours of every twenty-four should be reserved, and one that will not should not be. Every other question on this page is which instances those are.
From a threshold to a level
Stack the profile as layers. Layer k is the k-th instance, and it runs during exactly those hours when demand is at or above k. Its utilisation is therefore the share of hours the profile spends above k, which falls as k rises — so there is one crossing, and it is the level to reserve up to.
r = $0.07000/h d = $0.12000/h u* = r/d = 7/12 = 58.3%
raising the reserved level from k to k+1:
costs 24r = 24 × $0.07000 = $1.68 a day
saves h·d where h = hours the profile is above k+1
worth it while h·d > 24r, i.e. h/24 > r/d = u*
the crossing lands at 12 instances:
hours above 12 11 of 24 = 45.8% < 58.3% stop
and a scan over every level 0 … 36 agrees: 12
The marginal rule is worth preferring because it never evaluates a total bill. It compares one day of reservation against one day of the hours that reservation covers, and it is the same argument that picks an order quantity or a staffing level: raise while the margin is positive, stop when it turns.
Example · The bill at the three candidate levelsThis profile uses 432 instance-hours a day and peaks at thirty-six instances. All on demand: 432 × $0.12 = $51.84. Reserved to 12: 288 reserved hours at $0.07 plus 144 on-demand at $0.12, which is $20.16 + $17.28 = $37.44, saving $14.40 a day — 27.8%. Reserved to the peak of thirty-six: 864 × $0.07 = $60.48, which is $8.64 worse than reserving nothing at all.
Why reserving the peak is worse than reserving nothing
The peak hour’s instances run for one hour in twenty-four, a utilisation of 4.2% against a threshold of 58.3%. Reserving them buys twenty-three idle hours each, at full price, every day of the term. The instinct behind it is a good one — the peak is the part that hurts — but the peak is precisely the part with the worst duty cycle, and a commitment is a bet on hours rather than on importance.
The opposite error is quieter. Reserving nothing leaves the bottom twelve instances, which run every hour of every day at 100% utilisation, paying the on-demand premium for capacity that is never not needed. That is the $14.40 a day the optimum recovers.
Spot is not simply the cheapest column
A spot instance-hour at s can be reclaimed part-way through, and the work still has to be done, so an interrupted hour is re-bought on demand. With a reclaim probability q the expected delivered cost is s + q·d, which at s = $0.04, d = $0.12 and q = 15% is $0.058 — genuinely below $0.12, but nowhere near the headline $0.04.
delivered cost of a spot hour s + q·d
beats on demand while s + q·d < d
q < (d − s)/d = (12 − 4)/12 = 2/3
at q = 15%: $0.04000 + 0.15 × $0.12000 = $0.05800 delivered
burst layer on spot: $28.51 a day, against $51.84 all on demand
So spot is a third arm on the same comparison rather than a free lunch: it wins while interruptions are rarer than two in three, and it is the burst layer — the one with the utilisation too low to reserve — that it belongs on.
Everything above assumes the profile is known. When it is a forecast with a distribution around it, the quantity to commit to is a quantile of that distribution rather than a level of a known shape, which is the newsvendor problem — solved in “The Newsvendor Problem” in the Operations Research course “Inventory Models”, with the under-commitment and over-commitment costs in the shortage and overage roles.