In general, complicated pricing models are business-unfriendly. For example, Tarsnap (an encrypted backup service) advertises prices as “250 picodollars / byte-month”, which is hard for business customers to actually think about.
Inside of a large enough company, a market economies to allocate resources can make sense. Google has a resource economy for teams to bid on resources. However, this doesn’t fulfill the general requirement of per-request costs. Resource economies let each team’s services find a balance, and enables reporting up the chain of what costs are—things like how much Youtube’s storage costs, which would be hard to estimate from raw data usage, and would be even more expensive if it required dedicated storage servers instead of using shared resources bought at auction.
Calculating the precise cost of a single request is difficult. True resource costs are nonlinear in the presence of caching, and the effects of one request on another in terms of interference is difficult to ascertain. More coarse approximations in terms of various quotas, like requests per second for different endpoints, are easy to reason about for humans.
In general, complicated pricing models are business-unfriendly. For example, Tarsnap (an encrypted backup service) advertises prices as “250 picodollars / byte-month”, which is hard for business customers to actually think about.
Inside of a large enough company, a market economies to allocate resources can make sense. Google has a resource economy for teams to bid on resources. However, this doesn’t fulfill the general requirement of per-request costs. Resource economies let each team’s services find a balance, and enables reporting up the chain of what costs are—things like how much Youtube’s storage costs, which would be hard to estimate from raw data usage, and would be even more expensive if it required dedicated storage servers instead of using shared resources bought at auction.
Calculating the precise cost of a single request is difficult. True resource costs are nonlinear in the presence of caching, and the effects of one request on another in terms of interference is difficult to ascertain. More coarse approximations in terms of various quotas, like requests per second for different endpoints, are easy to reason about for humans.