Pay-per-use means AWS charges for services according to how you use them, rather than requiring an upfront infrastructure purchase. The unit of usage depends on the service: it may be time, requests, traffic, or stored data. Pay-per-request is a more specific model; it does not describe every AWS charge. section 1.10 section 1.4.2 section 12.0
What this means in practice:
- For a batch job, launch a virtual machine when work starts and terminate it when work finishes instead of paying a monthly fee for a machine regardless of use. section 1.2.4
- For a small application with a simple data structure, DynamoDB’s pay-per-request pricing can be a reason to choose it. The application must be built for DynamoDB; an existing MySQL application cannot simply be pointed at it. section 12.0
- For a temporary evaluation, delete the CloudFormation stack when finished so its infrastructure stops running and incurring charges. section 2.4
When a web shop grows
A web shop’s visits rise from 100,000 to 500,000 in a month. Its AWS bill rises from about $112 to $473: CDN traffic and requests, web servers, and the database cost more, while the charge for unchanged static-file storage stays the same. Pay-per-use can therefore make costs grow with traffic, but not every line item changes in the same way. section 1.4.2
Table 1.1 How an AWS bill changes if the number of web shop visitors increases (view table figure)
Compare the bill’s usage units and charges: requests and traffic increase, storage stays constant, and the database is listed with instance hours and storage rather than as pay-per-request. section 1.4.2
Usage-based bills are not completely predictable. To watch costs, enable Free Tier usage alerts in AWS billing preferences. In Budgets, create a recurring monthly Cost Budget—for example, $5—and add email alerts at 100% for both actual and forecasted spending. An alert helps you react; deleting resources you no longer need stops their ongoing use. section 1.9 section 2.4
