Data in is free, data out is not
Almost every cloud provider lets you upload data at no charge and bills you to move it out. Traffic leaving the provider’s network to the public internet is metered per gigabyte, and on data-heavy workloads it can rival or exceed the cost of the compute generating it.
The charge is invisible while you are designing a system and very visible on the invoice, which is why it catches so many teams out.
It is not just internet traffic
Several other movements are also billed on most providers:
- Traffic between regions, even inside the same account
- Traffic between availability zones in the same region, on some providers
- Data served through a CDN, billed at the CDN’s own rate
- Data retrieved from cold or archival storage tiers, which carry their own retrieval charge
Traffic within a single zone over private addressing is generally free, which is a strong argument for keeping chatty services close together.
The variation between providers is large
This is one of the areas where providers differ most, and not by a few percent.
- The large hyperscalers meter egress per gigabyte with a modest monthly free allowance.
- Oracle Cloud prices egress substantially lower than the other large providers and includes a large free allowance.
- Developer clouds such as DigitalOcean and Linode bundle a sizeable transfer allowance with each instance and pool it across the account.
- Hetzner includes a very large allowance with each server.
- UpCloud does not charge egress fees at all.
For a workload that serves a lot of data, this difference can outweigh every other pricing consideration.
Designing to reduce it
- Keep services that talk to each other in the same region and zone.
- Cache aggressively, so the same object is not served from origin repeatedly.
- Compress responses; egress is billed on bytes, not requests.
- Avoid architectures that shuttle data between regions for convenience.
- Check whether your storage provider participates in a bandwidth alliance that waives egress to partner networks.
Estimate it before you commit
Work out roughly how many gigabytes a month will leave the platform, multiply by the per-gigabyte rate, and compare that against the compute cost. If egress is a large fraction of the total, the provider with the cheapest instances is probably not the cheapest provider for you.
Related cloud accounts
This guide applies across providers. The cloud account catalogue lists every platform with its configurations and prices, and the comparison table puts them side by side.
Further reading
- Cutting a Cloud Bill: Where the Money Actually Goes
- Azure vs IBM Cloud: Which Cloud Account Should You Buy?
- On-Demand, Reserved and Spot: Choosing a Pricing Model
- Linode vs UpCloud: Which Cloud Account Should You Buy?
Frequently asked questions
Inbound traffic is free on essentially all major providers. The cost is on the way out.
Within one zone over private addressing, generally not. Between zones or regions, usually yes.
UpCloud does not charge for egress. Several developer clouds bundle large allowances that most workloads never exceed.