Posted on Mar 21, 2026 · Updated Mar 21, 2026 · 10 min read
What Cloud Providers Don't Want You to Know About Pricing
Cloud pricing isn't accidentally complex. AWS alone offers over 200 services, each with its own pricing dimensions — per-hour, per-request, per-GB, per-million API calls. Azure and GCP aren't much simpler. The result? According to Flexera's 2025 State of the Cloud Report, organizations waste 27% of their cloud spend. That's not a rounding error. It's a structural problem.
This article breaks down the specific pricing mechanisms that catch small businesses and startups off guard. We're not talking conspiracy theories. We're talking about egress fees, NAT Gateway charges, free tier traps, and support costs that nobody mentions until the bill arrives. If you've ever opened your cloud invoice and thought "where did that come from?" — this is for you.
TL;DR
Cloud providers bury real costs in egress fees ($0.09/GB on AWS), NAT Gateway charges ($32+/mo), expiring free tiers, and paid support plans. Organizations waste 27% of cloud spend (Flexera, 2025). Understanding these hidden costs is the first step to controlling them.
Table of contents
Why is cloud pricing so confusing?
AWS lists over 200 services on its product page, each with multiple pricing tiers, regions, and commitment options. A single service like EC2 has on-demand, spot, reserved, and Savings Plan pricing — across 600+ instance types. That's not a menu. It's a maze designed to reward the teams who invest in understanding it.
Complexity benefits the provider. When you can't easily compare prices across vendors, switching costs rise. When pricing pages require a spreadsheet to decode, you default to whatever's already running. And when your bill breaks down into 47 line items, you stop checking each one. Knowing what typical spend looks like for your size of team helps benchmark whether your bill is reasonable — the cloud cost benchmark for 2026 gives you those reference points.
How bad is the confusion in practice? A widely cited industry finding shows that 83% of CIOs report spending 30% or more than they originally anticipated on cloud infrastructure. That gap doesn't come from compute costs — those are relatively transparent. It comes from the secondary charges: data transfer, IP addresses, load balancer hours, DNS queries, and API gateway invocations that nobody budgeted for.
Think about it differently. When you sign up for a SaaS tool, you see one price per user per month. When you spin up a cloud environment, you're signing up for a pay-per-use model across dozens of dimensions simultaneously. Every API call, every byte transferred, every hour a resource exists — they all tick the meter. And the meter doesn't send you a warning before the bill lands.
What are data egress fees and why do they matter?
Data egress — the cost of moving data out of a cloud provider — runs $0.09 per GB on AWS and $0.087 per GB on Azure for standard internet-bound transfers. Meanwhile, ingress — uploading data into the cloud — is free across all major providers. That asymmetry is the single biggest vendor lock-in mechanism in cloud computing.
Why free ingress? Because the more data you upload, the harder it becomes to leave. A startup with 10 TB stored in S3 faces a $900 exit bill just for the data transfer. That's before you account for the re-architecture work. At enterprise scale, companies with petabytes of data face six-figure egress costs — a powerful incentive to stay put. If your egress line item has been growing, our guide on why your cloud bill keeps increasing covers the most common culprits and how to diagnose them.
GCP charges a higher per-GB rate at $0.12, but offsets it with 200 GB of free egress per month. For small workloads, that means zero egress costs. Oracle Cloud goes further: 10 TB per month of free outbound data transfer, making it the most egress-friendly provider by a wide margin.
Egress fees don't just affect migrations. They hit you every time your application serves content to users, syncs data between regions, or backs up to an external location. A video streaming startup pushing 50 TB per month through CloudFront still pays roughly $4,250 in data transfer — and that's with CDN discount pricing. For multi-cloud architectures, inter-cloud data transfer compounds the problem even further.
How does NAT Gateway quietly inflate your bill?
AWS NAT Gateway costs $0.045 per hour plus $0.045 per GB processed. That's $32.40 per month in hourly charges alone — before a single byte flows through it. For startups running monthly cloud bills under $200, NAT Gateway can represent 20-30% of the total. It's one of the most common "hidden cloud costs" that catches small teams by surprise.
What does a NAT Gateway actually do? It lets resources in private subnets (like your EC2 instances or Lambda functions) reach the internet for software updates, API calls, or downloading packages. It's a networking requirement that every VPC-based architecture needs — and AWS charges handsomely for it.
The per-GB processing fee is the hidden multiplier. If your application pulls 100 GB of data through the NAT Gateway monthly, that's an extra $4.50 on top of the base cost. But here's the part nobody mentions: traffic to AWS services like S3 and DynamoDB also flows through the NAT Gateway unless you set up VPC Gateway Endpoints. Those endpoints are free. Most teams just don't know they exist.
Want the full breakdown? Our deep-dive on AWS NAT Gateway pricing covers VPC endpoints, NAT instances as alternatives, and strategies that save 50-90% on networking costs. For now, just know this: if you haven't checked your NAT Gateway line item, you're probably overpaying.
Are Reserved Instances actually worth it?
Reserved Instances (RIs) offer 30-72% savings over on-demand pricing, according to AWS EC2 pricing documentation. The catch: you commit to 1 or 3 years of a specific instance type, in a specific region. If your needs change — and for startups, they always do — you're stuck paying for capacity you no longer use.
The math looks compelling on paper. A 3-year all-upfront RI for an m5.xlarge saves roughly $3,800 compared to on-demand over that period. But what happens when you migrate to Graviton instances six months in? Or when you containerize and don't need dedicated EC2 anymore? You've prepaid for infrastructure that no longer matches your architecture.
AWS introduced Savings Plans as a more flexible alternative. Instead of locking to an instance type, you commit to a dollar-per-hour spend level. That's better — you can switch instance families, regions, even operating systems. But it's still a bet on future usage. For a startup that might 3x its compute needs or pivot entirely, any multi-year commitment carries real risk.
The pragmatic approach? Use Savings Plans for your baseline — the minimum compute you know you'll need regardless of what changes. Cover peaks with on-demand or spot instances. And never commit more than 60-70% of your current spend to reserved pricing. That buffer keeps you flexible when your infrastructure inevitably evolves.
How do free tier limits catch you off guard?
AWS's free tier includes 750 hours of t2.micro EC2 and 5 GB of S3 storage, per the AWS Free Tier page. But most free tier benefits expire after 12 months. When they do, billing starts automatically — with no warning email, no grace period, and no confirmation prompt. Students and first-time founders get hit hardest by this silent switchover.
The 12-month expiry isn't the only trap. Some services have always-free tiers with limits so low they're essentially demos. Lambda gives you 1 million free requests per month — sounds generous until your app scales and you're suddenly paying for every invocation beyond that. DynamoDB's free tier covers 25 GB of storage and limited throughput. Cross that threshold by even a small margin, and on-demand pricing kicks in.
Here's what makes free tiers particularly dangerous for learning and prototyping: you build your architecture around free-tier services, then graduate to production where every assumption about cost breaks. That RDS instance that was free? It's $15/month minimum once the trial ends. The Elastic IP you forgot about? Since February 2024, AWS charges $0.005 per hour for every public IPv4 address. That's $3.65 per month per IP — even if it's attached to a stopped instance.
The fix is boring but effective: set up billing alerts from day one. AWS Budgets is free for two budgets. Configure alerts at 50%, 80%, and 100% of your expected spend. It won't prevent overages, but at least you won't discover them 30 days later. Before you hit those limits, it's worth knowing the cloud cost red flags that signal your bill is about to spike. Our cloud cost calculator can help you estimate real costs before you commit to a provider.
Why does cloud support cost extra?
Basic AWS support is free but limited to billing questions and service health dashboards. Actual technical help starts at $29 per month for Developer Support. Business Support costs 10% of your monthly bill (minimum $100/mo). Enterprise Support runs $15,000+ per month. You're paying for the privilege of getting help with the product you're already paying for.
Azure and GCP follow similar patterns. Azure's Standard Support starts at $100/month. GCP's Standard Support is included, but Enhanced Support (faster response times) costs 3% of your monthly spend. The practical impact: when something breaks at 2 AM, you'll either pay the support tax or rely on Stack Overflow and community forums.
For small teams, this creates an uncomfortable decision. The $29/month Developer Support tier seems reasonable until you realize it only covers general guidance — no architectural reviews, no response time guarantees under 12 hours. Business Support gets you a 1-hour response for production systems down, but at 10% of your bill, a team spending $5,000/month adds $500 just for support access.
Is there a workaround? Partially. AWS and Azure both offer free-tier support through community forums and documentation. GCP includes Standard Support (with P1 response in 4 hours) at no extra cost for paying customers. For startups, GCP's support inclusion alone can save $1,200-$6,000 annually compared to equivalent AWS plans. That's worth factoring into your cloud cost estimation from the start.
Providers that don't rely on pricing complexity
The hidden costs above work because hyperscaler pricing is deliberately hard to compare. These providers publish flat, simple rates with far fewer places to hide a surprise charge.
- DigitalOcean — simple, flat-priced compute and managed databases with none of the metered surprises hyperscalers bury in the fine print.
- Hetzner — unbeatable price/performance for compute, with pricing transparent enough to compare in minutes, not hours.
- Vultr — global low-cost VPS pricing that's published upfront, not split across dozens of billing dimensions.
Some provider links above are affiliate links — we may earn a commission at no extra cost to you. It never affects our pricing data.
Frequently asked questions
What are the most common hidden cloud costs?
The biggest hidden costs for small teams are data egress ($0.09/GB on AWS), NAT Gateway charges ($32+/mo on AWS), public IPv4 address fees ($3.65/mo per IP since Feb 2024), support plan costs ($29-$15,000+/mo), and orphaned snapshots and storage volumes that accumulate after deleted instances.
How much does data egress cost across cloud providers?
AWS charges $0.09/GB, Azure charges $0.087/GB, and GCP charges $0.12/GB but includes 200 GB free per month. Oracle Cloud offers the most generous policy with 10 TB/month included free. Egress fees apply to any data leaving the provider's network, including API responses, file downloads, and cross-region replication.
Do AWS free tier benefits expire?
Most AWS free tier benefits expire 12 months after account creation (AWS Free Tier). This includes 750 hours of t2.micro EC2, 5 GB of S3 storage, and 750 hours of RDS single-AZ usage. Some services like Lambda and DynamoDB have always-free tiers with usage caps. Billing starts automatically with no warning when limits are exceeded.
Are Reserved Instances worth it for startups?
Reserved Instances save 30-72% over on-demand pricing (AWS) but require 1-3 year commitments to specific instance types. For startups with unpredictable growth, Savings Plans offer more flexibility — you commit to a spend level, not an instance type. Never commit more than 60-70% of your baseline spend.
How can I reduce my cloud bill without Reserved Instances?
Start with the low-hanging fruit: set up VPC Gateway Endpoints to eliminate NAT Gateway charges for S3 and DynamoDB traffic (free). Delete unused EBS snapshots and unattached volumes. Use spot instances for non-critical workloads (59% average savings per CAST AI, 2025). Set billing alerts. Review your bill line by line monthly.
Estimate your cloud costs — for free
Compare AWS, Azure, and GCP pricing side by side with our free calculator, and dig into the guides to learn how to cut cloud waste. No sign-up required.