Planning a cloud budget for a new project, step by step
Most cloud budgets are made after the system is running, from the first bill. A rough plan before you build is better, because the largest cost choices are made in design. This routine takes an afternoon.
1. List the parts
Write down every component of the system, in the language of what it does: web servers, a database, file storage, a queue, a cache, a search index, background jobs, logs, backups and the network between them. If you cannot name a part, you cannot price it. Use the example workloads on this site as a checklist: the web app, data platform and factory IoT estimators each show the parts a typical system of that kind needs.
2. Say how much of each you expect
For each part, write the quantity you expect in a normal month: requests, users, gigabytes stored, gigabytes sent out, hours of batch work. Where you have no data, take your best estimate and write down why. The assumption matters more than the arithmetic.
3. Price three scenarios
One number is false precision. Price three:
- Expected: your best guess.
- Low: the traffic if adoption is slow.
- High: the traffic if it goes well, perhaps three to ten times the expected figure.
The high case matters most, because it is the one that can hurt. Check whether cost grows in step with revenue or faster than it. The estimators let you change one input and watch the totals, and the link holds the inputs, so you can save each scenario.
4. Add what the estimators leave out
Estimates cover the main services. Add lines for what they leave out:
- logs and monitoring. See logging and monitoring costs;
- backups and a second copy. See backup and retention costs;
- a NAT gateway and extra load balancers. See NAT gateways;
- support plans, third-party software and tax;
- non-production environments, which are often a third of the bill.
5. Choose how to buy
Start on-demand. If part of the load will certainly be steady, note what you would commit to later. See cloud pricing models explained.
6. Add a contingency
Add a margin for the things you do not know, commonly twenty to thirty percent for a new system, falling as you learn. A budget with no margin is a promise to be wrong.
7. Compare clouds on the same plan
Run the same inputs through each cloud, and compare complete totals only. If one cloud lacks a service, it is marked incomplete, and you need an equivalent for it before the comparison means anything. See how to read a cloud cost estimate. Price is one factor among skills, existing contracts, region and the services you need.
8. Set limits before you launch
Create budgets and forecast alerts at the planned figure and at the high-case figure, tag every resource with its project and owner, and write down who looks at the alert. See budgets and cost alerts.
9. Check against the bill
After the first month, compare the bill with the plan, line by line, and adjust your assumptions. The plan becomes more accurate every month, and the gaps teach you where the surprises live. The ordered list of savings to look for is in the cost optimization checklist, and a worked example for a web application is in web app costs on four clouds.