Minimums, labour and the price trajectory
How do minimums, contracts, engineer time and falling rates change which optimizations pay?
A general point should be "item zero" on any pricing list: the metering rule itself. It has four parts: the quantity counted, the rounding rule, the minimum, and the inclusion definition (what is and is not counted). Every other price in this article is an instance of that one rule.
Minimums and floors
Every floor exists to recover a fixed cost the vendor pays per object, per query or per contract. So your natural batch size is the mirror image of their fixed cost. Three floors matter.
-
Minimum billable object size. On infrequent-access tiers it is commonly 128 KB. A 4 KB object is billed as 128 KB: 128 / 4 = 32× its size. This is identical arithmetic to a 4 KB write landing inside a large flash erase block (usually several megabytes on modern flash; the principle is the same at any size). Granularity mismatch generates amplification whether the granularity is imposed by physics or by a contract clause.
-
Minimum storage duration (30, 90 or 180 days depending on tier). Worked example: a lifecycle rule moves objects to a deep tier with a 90-day minimum and deletes them on day 10. You pay for the other 80 days anyway. So aggressive tiering of short-lived data costs more than doing nothing.
A rule like the following looks harmless, and is exactly the trap (AWS S3 lifecycle syntax, shown as an example):
\{ "Rules": [\{ "ID": "archive-then-delete", "Status": "Enabled", "Filter": \{"Prefix": "tmp-exports/"\}, "Transitions": [\{"Days": 1, "StorageClass": "GLACIER"\}], "Expiration": \{"Days": 10\} \}] \}If the destination class bills a 90-day minimum, each object is billed for 90 days although it exists for 10.
-
Per-query scan minimums. They put a floor under optimization. A workload of ten million small queries cannot cost less than (minimum charge × 10,000,000), however good the layout is.
Non-usage pricing
Seats, licences, support tiers and committed-spend contracts are step functions of organizational variables (headcount, contract length). They do not respond to engineering. Two consequences:
- Below a certain scale, the largest controllable line item is negotiated, not engineered. Time spent on layout is time spent on the smaller term. For many data platforms, non-usage spend exceeds infrastructure spend.
- A commitment inverts the marginal incentive. Once you have committed to a spend, usage below the cap is free at the margin. So optimizing inside the period has zero value, and the correct move is to pull work into the period. Same engineer, same workload, opposite advice, decided only by a contract.
Labour as a priced resource
A fully loaded engineer-hour costs roughly $50–150, depending on the market. A week of optimization work is therefore $2,000–6,000, and the maintenance that follows is usually larger than the build.
So an optimization that saves less than about $500 per month has a payback longer than a year. It is typically negative once you count the complexity it adds to everything downstream. Worked example: $4,000 of work saving $400/month pays back in 10 months before maintenance; with 20% of the effort again each year for upkeep, the benefit shrinks further. This ratio is the most useful number here, and it is almost never computed.
The boundary condition: it inverts when the saving sits on a growth curve. If spend doubles every year, the value of an optimization is the integral over future spend, not the current rate. A fixed effort that meets exponential growth is the only case where optimizing a currently small number is correct.
Price trajectory
Compute and storage rates fall about 20–30% a year. Egress barely moves. Labour rises. So the ratio of labour to infrastructure moves in one direction. A marginal optimization is therefore worse next year than today, and any design that trades engineering complexity for infrastructure savings ages badly by construction. The reverse trade, spending money to remove complexity, improves with time.
This is contested in practice. State it as economic contingency, not as law. But the direction has held for fifteen years.