How Cloud Pricing Works: Compute, Storage and Egress Explained
A plain-English guide to the parts of a cloud bill: compute, storage, requests, data transfer and discounts, with a worked estimate you can adapt.
Cloud pricing is pay-as-you-go: you are billed for compute by the second or hour, storage by the gigabyte per month, requests by the thousand and data transfer out by the gigabyte. Discounts come from 1- or 3-year commitments and spare-capacity options. Data coming in is usually free, while data going out to the internet usually is not.
Photo: Unsplash
On this page
The first cloud bill often surprises people. The servers cost about what you expected, but then there are line items for storage requests, IP addresses, data transfer between zones and something called “NAT gateway bytes.” Suddenly the total is well above your estimate.
Cloud pricing is not mysterious, but it is granular. Almost everything is metered, and each meter has its own unit. Once you know the 5 main components and how discounts work, you can read any provider’s bill and build a realistic estimate before you deploy. This guide uses AWS list prices as worked examples because they are public and widely used; Microsoft Azure and Google Cloud follow the same patterns.
The 5 building blocks of every cloud bill
| Component | What you pay for | Typical unit | Example from AWS (US East, N. Virginia) |
|---|---|---|---|
| Compute | Virtual machines, containers, serverless functions | Per second or hour of runtime, by size | EC2 Linux instances billed per second, 60-second minimum |
| Storage | Data at rest in disks, object storage, backups | Per GB per month | S3 Standard: $0.023 per GB-month for the first 50 TB |
| Requests and operations | API calls, reads, writes | Per 1,000 or 10,000 requests | S3 Standard: $0.005 per 1,000 PUT, COPY, POST or LIST requests |
| Data transfer | Moving data out to the internet, across regions or zones | Per GB | Internet egress: $0.09 per GB for the first 10 TB a month after the free allowance |
| Managed services and extras | Databases, load balancers, IP addresses, support | Varies: per hour, per GB, per request | Public IPv4 address: $0.005 per hour |
Prices change and vary by region, so treat these as examples, not quotes. Always confirm current rates on the provider’s pricing pages or calculator.
Compute: paying for processing time
Compute is usually the biggest line on the bill. You pay for the size of the machine (vCPUs, memory, sometimes GPUs) multiplied by how long it runs.
Billing granularity. AWS bills most EC2 instances, including Linux and Windows, per second with a 60-second minimum. The practical lesson: you pay while a machine is running, whether or not it is doing useful work. An idle server costs the same as a busy one.
What drives compute cost:
- Instance size and family. More vCPUs and memory cost more. Specialized families, such as GPU or memory-optimized, cost considerably more.
- Operating system and licenses. Some operating systems and databases include license fees in the hourly rate.
- Region. The same machine can cost different amounts in different regions.
- Hours running. A machine on 24/7 runs about 730 hours a month. Turning development servers off nights and weekends cuts their hours by more than half.
Serverless and containers. Serverless functions usually charge per request plus the memory and duration of each run. Managed container services charge for the vCPU and memory your containers reserve. These can be far cheaper for spiky workloads and more expensive for steady, heavy ones.
Storage: paying for data at rest
Storage is billed per GB per month, but the type of storage changes the price a lot.
- Block storage (disks attached to virtual machines) is billed on the size you provision, not what you use. A 500 GB disk that is 10 percent full is still billed as 500 GB.
- Object storage (such as Amazon S3, Azure Blob Storage or Google Cloud Storage) is billed on what you actually store, plus requests and retrieval.
- Storage classes. Object storage has tiers. Frequently accessed “standard” storage costs more per GB; infrequent-access and archive tiers cost much less per GB but charge more to retrieve data and may require a minimum storage duration.
- Snapshots and backups are billed as storage too, and they accumulate quietly. Set retention rules.
Backup choices directly affect your bill. More frequent backups and copies in a second region improve recovery but add storage and transfer charges; our guide to RTO vs RPO helps you decide how much recovery you actually need.
Data transfer and egress: the line item that surprises people
Data transfer pricing follows one simple pattern on the major clouds: data coming in is usually free, and data going out is usually not.
AWS’s price list shows data transfer in to US East at $0 per GB, while data transfer out to the internet starts at $0.09 per GB for the first 10 TB each month, falling in tiers to $0.05 per GB above 150 TB. AWS also gives every customer 100 GB a month of free data transfer out to the internet, aggregated across services and regions (excluding China and GovCloud). Azure similarly says the first 100 GB a month of internet egress is free and that data transfer in is free.
The main types of transfer to watch:
| Transfer type | Usually charged? | Example |
|---|---|---|
| Internet to cloud (ingress) | Usually free | Users uploading files, data migration into the cloud |
| Cloud to internet (egress) | Yes, per GB after any free allowance | Serving downloads, video, API responses, backups to another provider |
| Between regions | Yes, per GB, rate depends on the region pair | Cross-region replication for disaster recovery |
| Between availability zones | Often yes | AWS lists $0.01 per GB for regional transfer between EC2 Availability Zones in US East |
| Within the same zone using private IPs | Often free | App servers talking to a database in the same zone |
Why egress matters for strategy. Egress fees make it more expensive to move large data sets out of a provider, serve heavy media directly from storage or run architectures that shuffle data between clouds. A content delivery network (CDN) can reduce origin egress for public content. For customers leaving entirely, AWS has offered free data transfer out to the internet for eligible customers moving off AWS since 2024, subject to conditions and an approval process through AWS support.
Key takeaway: Estimate data transfer before you build. Compute and storage are easy to predict, but egress and cross-zone traffic are where most bill surprises come from.
Hidden networking costs
A few networking items regularly catch teams off guard:
- NAT gateways charge both per hour and per GB of data processed (AWS’s pricing page uses $0.045 per hour and $0.045 per GB in its US East (Ohio) example), so private servers downloading large updates or calling external APIs can run up costs.
- Public IPv4 addresses cost money on AWS, currently $0.005 per address per hour, whether in use or idle.
- Load balancers typically charge per hour plus a usage-based unit.
- Chatty microservices spread across zones generate cross-zone transfer on every call.
Pricing models and discounts
You do not have to pay list price for everything. Each major provider offers the same 3 broad options.
| Model | How it works | Savings vs on-demand | Best for | Risk |
|---|---|---|---|---|
| On-demand | Pay by the second or hour, no commitment | None (baseline) | New, unpredictable or short-lived workloads | Highest unit price |
| Commitments (AWS Savings Plans and Reserved Instances, Azure reservations and savings plans, Google committed use discounts) | Commit to spend or usage for 1 or 3 years | AWS: up to 72% with EC2 Instance Savings Plans, up to 66% with Compute Savings Plans. Google: up to 55% for most machine types, 70% for memory-optimized | Steady baseline usage | Paying for commitment you no longer use |
| Spare capacity (AWS Spot, Azure Spot, Google Spot VMs) | Use unused capacity that can be reclaimed | AWS: up to 90%. Google: 60% to 91% | Batch jobs, CI runners, fault-tolerant workloads | Interruptions; AWS gives a 2-minute warning |
| Automatic usage discounts | Discounts applied for running a machine much of the month | Google sustained use discounts: up to 30% on eligible machine types | Steady workloads on eligible machine types | Not available on all machine series |
How to combine them. A common approach is to cover your steady baseline with commitments, run interruptible work on spare capacity and leave peaks on on-demand. Start commitments only after you have a few months of real usage data.
Free tiers. Providers offer free tiers and credits for new accounts, but the rules change. For example, AWS says new customers from July 15, 2025 receive up to $200 in Free Tier credits, and its free plan is available for 6 months after account creation. Read the current terms and set billing alerts so a test project does not turn into a surprise charge.
How to estimate a cloud bill: a worked example
Here is a simple monthly estimate for a small web app on AWS in US East. The compute rate is a placeholder for illustration; look up the real rate for the instance you choose.
| Item | Usage | Rate | Monthly cost |
|---|---|---|---|
| 2 virtual machines running 24/7 | 2 x 730 hours | $0.10 per hour (placeholder) | $146.00 |
| Object storage (S3 Standard) | 500 GB | $0.023 per GB-month | $11.50 |
| Storage requests | 2 million PUT requests | $0.005 per 1,000 | $10.00 |
| Internet egress | 1,100 GB, first 100 GB free | $0.09 per GB on 1,000 GB | $90.00 |
| Public IPv4 addresses | 2 x 730 hours | $0.005 per hour | $7.30 |
| Estimated total | $264.80 |
This leaves out items such as block storage disks, a database, load balancers, backups, monitoring and taxes, which a real estimate should include. Notice how egress is a third of the total here; serving the same traffic through a CDN or compressing responses could change the picture.
To build your own estimate:
- List every component in your architecture, including networking and backups.
- Estimate usage per component: hours, GB stored, requests, GB transferred out and between zones.
- Price it in the provider’s calculator, such as the AWS Pricing Calculator, Azure Pricing Calculator or Google Cloud Pricing Calculator.
- Add a buffer for growth and items you missed.
- Compare against actual bills after the first month and update your model.
How to read your cloud bill
When the bill arrives, look at it by service, then by usage type. Most providers’ cost tools let you group charges this way.
- Tag everything with owner, environment and project, so costs can be assigned to teams.
- Look for idle resources: unattached disks, old snapshots, idle IP addresses, oversized instances and forgotten test environments.
- Check data transfer lines separately; they often hide in networking or under each service.
- Set budgets and alerts at 50, 80 and 100 percent of expected spend.
Managing this continuously is the job of FinOps. Our guide to FinOps and cloud cost optimization covers how teams build that habit. If you are building cloud skills for a career, cost awareness is a big part of becoming a cloud engineer.
Conclusion
Cloud pricing comes down to a handful of meters: compute time, storage per GB, requests, data transfer and the extras attached to managed services. Ingress is usually free, egress usually is not, and discounts reward steady, predictable usage. Estimate every component before you build, use commitments only after you know your baseline and review the bill by service and usage type every month.
Sources
- AWS, Amazon VPC pricing — NAT gateway and public IPv4 address charges
- AWS, Amazon EC2 On-Demand Pricing — per-second billing and the 100 GB monthly free data transfer out
- AWS Price List API, Amazon S3 and AWS Data Transfer offers for US East (N. Virginia) — S3 storage and request rates, egress tiers, inter-AZ and public IPv4 rates
- AWS, Savings Plans pricing — Compute and EC2 Instance Savings Plans discounts and terms
- Google Cloud, VM instance pricing — sustained use, committed use and Spot VM discounts
- Microsoft Azure, Bandwidth pricing — free ingress and first 100 GB of monthly egress
Frequently asked questions
How is cloud computing priced?
Cloud computing is priced pay-as-you-go by usage. Compute is billed by the second or hour based on machine size, storage by the GB per month, requests by the thousand and data transfer out by the GB. Managed services add their own meters. You can lower unit prices with 1- or 3-year commitments or interruptible spare capacity.
What are cloud egress fees?
Egress fees are charges for data leaving a cloud provider's network, usually to the internet or another region. AWS, for example, charges per GB for data transfer out to the internet after a 100 GB monthly free allowance, while data coming in is free. Egress can become a large share of the bill for media, downloads and data-heavy APIs.
Why is my cloud bill higher than expected?
The most common reasons are resources left running, oversized instances, forgotten disks and snapshots, data transfer out and between zones, and networking extras such as NAT gateways and public IP addresses. Group your bill by service and usage type, tag resources by owner and set budget alerts to catch these early.
Is AWS, Azure or Google Cloud cheaper?
None is cheapest for every workload. All 3 use similar pricing models, and the real cost depends on your services, regions, data transfer, discounts and licensing. Price your actual architecture in each provider's calculator and include egress and support. Existing licenses, credits and team skills often matter more than small differences in list prices.
What is the difference between Savings Plans and Reserved Instances?
Both are AWS commitment discounts for 1 or 3 years. Savings Plans commit you to a dollar amount of usage per hour and apply flexibly; Compute Savings Plans even cover different instance families, regions, Fargate and Lambda. Reserved Instances are tied more closely to specific instance attributes. AWS lists Savings Plans discounts of up to 72% versus on-demand.
Is data transfer into the cloud free?
Usually, yes. AWS lists data transfer in from the internet at no charge, and Azure lists data transfer in as free. Charges typically apply when data leaves the provider, moves between regions or, in many cases, crosses availability zones. Check the specific service, because some managed services and network paths have their own fees.
How do I estimate cloud costs before migrating?
List every component you will run, estimate usage for each one, including hours, storage, requests and data transfer, then price it in the provider's calculator. Add a buffer for missed items and growth, and compare against real bills after the first month. Include backups, monitoring, support plans and networking, which are often forgotten.
Was this guide useful
No reviews yet. Share your experience and help other readers.