On this page
- How do the three free tiers actually work in 2026?
- What does “lean” mean for a free-tier app?
- The free-tier playbook (do these in order)
- Which provider should you launch on?
- What does it actually cost? The $0-to-$X calculator
- Where the free tier stops being free
- Where AI coding assistants get this wrong
- Checklist
- FAQ
- Related topics
- Sources
How to Launch Free Infrastructure on AWS, GCP, or Azure
Run a web app on AWS, GCP, Azure, Oracle, or Cloudflare for $0: free tiers, lean stacks, and real monthly costs from $0 to $300+.
Quick answer
- You can run a real, low-traffic web app on AWS, GCP, or Azure for $0/month — if you stay inside each provider’s free limits.
- The winning stack is the same on every cloud: serverless compute + a NoSQL or managed database + object storage, behind a CDN.
- Set a budget alert first, use always-free services before credit-funded ones, and know exactly when each offer expires.
- AWS replaced its 12-month free tier with a credit-based model on July 15, 2025 — most guides online still describe the old one. This one doesn’t.
- Oracle and Cloudflare are the wildcards in this series: Oracle gives you a real always-on ARM VM for $0, and Cloudflare charges nothing for egress.
How do the three free tiers actually work in 2026?
The biggest change in cloud free tiers happened in July 2025, when AWS retired its 12-month free tier for new accounts and moved to credits. GCP and Azure kept their structures. Here is what each provider offers today:
| AWS (new accounts) | GCP | Azure | |
|---|---|---|---|
| Sign-up offer | Free or Paid plan; $100 credit + up to $100 more | $300 credit, valid 90 days | $200 credit, valid 30 days |
| Free duration | Free plan: 6 months or until credits run out | Trial: 90 days; always-free tier never ends | 12 months of free amounts + always-free services |
| Always-free compute | Lambda: 1M requests + 400K GB-seconds/mo | Cloud Run: 2M requests/mo; one e2-micro VM | Functions: 1M requests/mo; Container Apps: 2M requests/mo |
| Always-free database | DynamoDB: 25 GB | Firestore: 1 GB | Cosmos DB: 1,000 RU/s + 25 GB |
| Static hosting | S3 + CloudFront: 1 TB egress | Cloud Storage: 5 GB (US regions) | Static Web Apps: 100 GB bandwidth |
| The big gotcha | Free plan auto-closes; data deleted after 90 days | Trial account closes; resources stopped | Must convert to pay-as-you-go within 30 days |
The three step-by-step tutorials — AWS, GCP, and Azure — walk through each stack end to end, and Oracle and Cloudflare cover the two paths that don’t fit the table: Oracle’s Always Free tier (the only genuinely free always-on VM left among major clouds) and Cloudflare’s edge serverless (100K requests/day, zero egress fees). This guide is the playbook that applies to all five.
What does “lean” mean for a free-tier app?
A lean cloud footprint is four services, no more: compute, database, storage, and an edge layer (CDN + DNS). Anything beyond that is where free tiers turn into bills.
| Layer | AWS | GCP | Azure |
|---|---|---|---|
| Compute | Lambda or EC2 (credit-funded) | Cloud Run or e2-micro VM | Functions, App Service F1, or Container Apps |
| Database | DynamoDB (25 GB free) | Firestore (1 GB free) | Cosmos DB (1,000 RU/s free) |
| Storage | S3 | Cloud Storage | Blob Storage / Static Web Apps |
| Edge | CloudFront (1 TB free) | Cloud CDN | Azure Front Door / CDN |
Your AI coding assistant will not generate this stack. It generates the enterprise version: a NAT Gateway ($32/month), an Application Load Balancer ($22/month), and an EKS cluster ($73/month) in front of a todo app — $127/month before the app serves a request. See AWS, GCP, and Azure for Vibecoders and Why Did My AI-Generated Terraform Config Almost Delete Production? for the full failure catalog. “Lean” means deleting those three before you deploy anything.
The free-tier playbook (do these in order)
These five steps apply to every provider and every free-tier app. Skipping any of them is how “free” becomes a surprise bill.
1. Set a budget alert before you create anything
Every provider has one: AWS Budgets, GCP Budgets & alerts, Azure Cost Management budgets. Set a $10-20/month threshold with email notifications on day one, before a single resource exists. It costs nothing and it is the only thing that tells you the free tier ended.
2. Prefer always-free services over credit-funded ones
Credits expire (AWS: 12 months, GCP: 90 days, Azure: 30 days); always-free allowances do not. Build on Lambda, DynamoDB, Cloud Run, Firestore, Functions, and Cosmos DB first. Use credits for the one thing with no free tier — usually a managed Postgres/MySQL — or don’t use them at all.
3. Put a CDN in front of everything
Egress — data leaving the cloud to the internet — is the line item that turns a $20/month estimate into a $200/month bill. CloudFront (AWS), Cloud CDN (GCP), and Azure CDN all have free or cheap egress; putting Cloudflare in front of any of them absorbs the rest for free. Never serve assets straight from a bucket or VM.
4. Shut down what you’re not running
A forgotten VM, disk, or IP address bills even when nothing uses it. If your app is low-traffic, prefer scale-to-zero services (Lambda, Cloud Run, Functions) over always-on VMs, and delete test resources the same day you create them. See How to Reduce Your Cloud Bill Without Breaking Production for the full orphan hunt.
5. Put every expiry date on a calendar
AWS Free plan closes at 6 months or when credits run out. GCP’s trial closes at 90 days or $300 spent. Azure’s $200 credit is gone at 30 days unless you convert to pay-as-you-go. None of these send a bill — they send a disabled account, a stopped VM, or a deleted project. Set three reminders when you sign up.
Which provider should you launch on?
| Your situation | Provider | Start with |
|---|---|---|
| You want the leanest $0 path and don’t care about a specific cloud | GCP | Deploy Your First App on Google Cloud for Free |
| You want serverless functions + NoSQL, or you’re already AWS-shaped | AWS | Deploy Your First App on AWS for Free |
| You’re in the Microsoft ecosystem (.NET, Entra ID, GitHub) | Azure | Deploy Your First App on Azure for Free |
| You want a real always-on VM for $0, or you’re a self-hoster | Oracle Cloud | Deploy Your First App on Oracle Cloud for Free |
| You want edge serverless with no egress fees, and no card on file | Cloudflare | Deploy Your First App on Cloudflare for Free |
| You just want the app to run with zero ops | Neither — use a PaaS | Budget Cloud and PaaS Compared |
If you haven’t decided whether the big three are right for you at all, start with How to Choose a Cloud Provider for Your AI-Generated App.
What does it actually cost? The $0-to-$X calculator
Your monthly bill is decided by traffic, not by which provider you picked. Run the scenarios below against your expected numbers once — the arithmetic takes two minutes, and it’s the difference between a $0 launch and a surprise first bill. Figures are approximate 2026 US list prices for compute + storage, before egress unless noted.
| Scenario | Stack | Monthly bill |
|---|---|---|
| Static site or docs, any traffic | Cloudflare Pages — static assets are free and unlimited | $0 |
| Side-project API under 100K requests/day | Cloudflare Workers + D1/R2, or the big-three free tiers | $0 |
| Real app on an always-on VM | Oracle Ampere A1 (2 OCPU / 12 GB) + 200 GB block storage | $0 |
| API past the free limits (~10M requests/month) | Lambda or Functions + free NoSQL tier | ~$20 |
| The same app, now with managed Postgres | Previous row + RDS db.t4g.micro (single-AZ) | ~$40 |
| The AI-generated default stack | NAT + ALB + EKS + Multi-AZ RDS + CloudWatch | $100-300+ |
Worked example — 10 million requests/month, 512 MB function, 200 ms each:
- AWS Lambda: 10M × $0.20/M = $2 in requests, plus 10M × 0.2 s × 0.5 GB × $0.0000167/GB-s ≈ $17 in compute → ~$19/month. Skip API Gateway REST ($3.50/M calls) — the HTTP API flavor is $1/M, or use a Lambda Function URL.
- Google Cloud Run: 10M × $0.40/M = $4 in requests, plus vCPU- and GB-seconds — 100 ms billing increments and a 1 vCPU minimum per instance push the total to ~$50/month.
- Cloudflare Workers (Paid): the $5/month minimum already includes 10 million requests → $5/month, with $0 egress.
Where the knee is: somewhere between 1 and 5 million requests/month (~100K-170K requests/day), an always-on VM beats per-request serverless — a t4g.small on AWS runs $12.10/month, and Oracle’s equivalent ARM VM runs $0. If your traffic is sustained rather than spiky, “small VM behind a CDN” is the cheapest architecture past the free tier.
Overage rate card — what you pay once you’re past the free allowances (1M requests/month on Lambda and Functions, 2M on Cloud Run, ~3M on Cloudflare’s daily 100K cap):
| Requests | Compute | Egress per GB | |
|---|---|---|---|
| AWS Lambda | $0.20/M | $0.0000167/GB-s | ~$0.09 |
| Azure Functions | $0.20/M | $0.000016/GB-s | ~$0.087 |
| Google Cloud Run | $0.40/M | $0.000024/vCPU-s + $0.0000025/GB-s | ~$0.12 |
| Cloudflare Workers (Paid) | $0.30/M after 10M included | $0.02/M CPU-ms after 30M included | $0 |
The formula: monthly cost ≈ (requests - free allowance) × request rate + GB-seconds × duration rate + egress GB × egress rate. Hidden adders routinely push real bills 30-60% above that raw number — API Gateway, log ingestion ($0.50/GB on CloudWatch), and cross-service data transfer. Do this arithmetic once at launch and set the budget alert from the result; the calculator exists so the alert never has to fire.
Where the free tier stops being free
- Egress overage. The most common bill-maker. A viral post serving 200 GB of assets costs $0 behind Cloudflare and real money on raw cloud egress. Watch the free bandwidth allowances (AWS: 1 TB CloudFront, GCP: 100 GB Cloud Storage, Azure: 100 GB Static Web Apps).
- Request overage. Lambda, Cloud Run, Functions, and Container Apps all cap free requests monthly (1-2 million). A chatty app or a misconfigured retry loop burns through them fast.
- Credit exhaustion and time expiry. AWS Free plan closes at 6 months; GCP trial at 90 days; Azure credit at 30 days. Each has a different recovery path, and none of them bills you — they just stop your resources.
- The AI picking paid SKUs. AI-generated configs default to paid tiers: Multi-AZ RDS, Cloud SQL with high memory, General Purpose Azure SQL, standard App Service plans. Review every generated resource against the free-tier table above before deploying.
- Idle reclamation (Oracle). Always Free VMs are reclaimed after 7 days of CPU, network, and memory all under 20% (95th percentile). Keep real traffic or a cron job hitting the instance.
- Daily resets (Cloudflare). Free limits reset at midnight UTC, not monthly: 100K requests/day, 100K KV reads/day, 5M D1 row reads/day. Exceed one and requests fail (Error 1027) until the reset — no bill, just downtime.
Where this bites vibecoders
The AI codes the app, deploys it to the cloud, and never mentions that the free tier has a boundary. The vibecoder’s first clue is usually a disabled account or a $47 bill for egress. The difference between “free” and “expensive” is rarely the provider — it’s whether you set a budget alert on day one, built on always-free services instead of credits, put a CDN in front, and put the expiry dates on a calendar. That’s the entire playbook; the provider tutorials below just execute it per cloud.
Where AI coding assistants get this wrong
- Generating the July 2025-era AWS architecture (NAT Gateway, ALB, EKS, Multi-AZ RDS) even though new AWS accounts no longer get a 12-month free tier for those.
- Writing Terraform with no budget alerts, no tags, and no
prevent_destroy, so the first surprise is a bill or a deleted database. - Provisioning managed Postgres/MySQL on every cloud as the default database, even though none of the three free tiers includes it (Firestore, DynamoDB, and Cosmos DB are the free options).
- Setting Cloud Run/Lambda/Functions memory and concurrency high “to be safe,” which multiplies compute cost per request.
- Exposing buckets and blobs with public-read ACLs instead of serving through the provider’s CDN.
Checklist
- Set a budget alert ($10-20/month) before creating any resource
- Build compute on always-free services (Lambda, Cloud Run, Functions) where possible
- Use the provider’s free database (DynamoDB, Firestore, Cosmos DB) before paid ones
- Put a CDN (provider or Cloudflare) in front of all static assets
- Prefer scale-to-zero over always-on VMs for low-traffic apps
- Note all three expiry dates: AWS 6 months, GCP 90 days, Azure 30 days
- Review AI-generated configs against the four-service lean stack
- Check the provider’s free-tier usage page monthly
- Run the $0-to-$X scenarios in the calculator against your traffic estimate
FAQ
Can I really run a web app on the big clouds for free?
Yes, up to real monthly limits. AWS gives new accounts credits plus 30+ always-free services, GCP has an always-free tier with no end date, and Azure has 12-month free amounts plus always-free services. A low-traffic app — Lambda + DynamoDB on AWS, Cloud Run + Firestore on GCP, Functions + Cosmos DB on Azure — can run at $0 indefinitely.
What’s the catch with free tiers?
The limits. Egress bandwidth, request counts, and storage all have monthly caps, and the moment you exceed one, standard pricing kicks in. The other catches are time-based: AWS’s Free plan closes after 6 months, Azure requires converting to pay-as-you-go within 30 days, and GCP’s $300 credit expires after 90 days.
Which cloud has the best free tier in 2026?
GCP, for scale-to-zero Cloud Run plus a no-end-date always-free tier. AWS is close behind and stronger if you want serverless functions and DynamoDB. Azure’s always-free list is the longest, but its best free compute (B1s VMs) only lasts 12 months. The comparison table above breaks it down.
Do I need a credit card to sign up?
All three providers require a credit or debit card for identity verification, and all three put only a temporary hold on it (roughly $1) — no charge on signup. AWS’s Free plan will not charge you (it closes instead), GCP’s trial won’t bill you, and Azure’s free account won’t charge you unless you convert to pay-as-you-go. Cloudflare is the exception — no card at all, ever, on the free plan. Oracle also requires a real card (virtual and prepaid cards are rejected at signup).
Related topics
- How to Deploy Your First App on AWS for Free
- How to Deploy Your First App on Google Cloud for Free
- How to Deploy Your First App on Azure for Free
- How to Deploy Your First App on Oracle Cloud for Free
- How to Deploy Your First App on Cloudflare for Free
- How to Choose a Cloud Provider for Your AI-Generated App
- AWS, GCP, and Azure for Vibecoders: The Services You Actually Need
- What Is FinOps (Cloud Cost Management)?
- How to Reduce Your Cloud Bill Without Breaking Production
- How to Set Up Cloudflare for a Small Project
Sources
- AWS Free Tier
- AWS Free Tier FAQs
- Google Cloud Free Program — Free Google Cloud features and trial offer
- Google Cloud Free Tier
- Microsoft Azure — Explore Free Azure Services
- Microsoft Learn — Create free services with Azure free account
- Rackspace Spot — AWS Free Tier Explained: What’s Actually Free in 2026
- Oracle Cloud — Always Free Resources
- Cloudflare Workers — Pricing
- Spendark — Serverless Costs: Lambda, Functions & Cloud Run (2026)
- Bytebase — PostgreSQL Hosting Options in 2026: Pricing Comparison