The main issue with choosing a fixed value for Provisioned IOPS is you end up paying for IOPS you don't need 90% of the time.
For example, if our service typically requires 500 IOPS and occasionally spikes to 2000 IOPS, we have no choice but to pay for 2000 IOPS all month, even though 90% of the time we only need 500 IOPS.
I have to choose between paying for IOPS I don't need, or downtime. Both of these options suck.
Instead, you should not limit IOPS at all (never cause downtime), and count how many I use per month, and charge me per million. This is a much fairer pay-by-usage model.
Agreed.
The main issue with choosing a fixed value for Provisioned IOPS is you end up paying for IOPS you don't need 90% of the time.
For example, if our service typically requires 500 IOPS and occasionally spikes to 2000 IOPS, we have no choice but to pay for 2000 IOPS all month, even though 90% of the time we only need 500 IOPS.
I have to choose between paying for IOPS I don't need, or downtime. Both of these options suck.
Instead, you should not limit IOPS at all (never cause downtime), and count how many I use per month, and charge me per million. This is a much fairer pay-by-usage model.