If you want a server that costs nothing and stays that way, there is exactly one answer among the big three: [Google Cloud](/entry/eks-vs-gke-vs-aks-managed-kubernetes-pricing-and-the-part-that-isnt-the-control-)'s e2-micro. It's the only permanent free VM. [AWS](/entry/eks-vs-gke-vs-aks-managed-kubernetes-pricing-and-the-part-that-isnt-the-control-) and Azure both give you 12 months of a free instance that then silently converts to paid — which is how people end up with a surprise bill for a project they forgot about.
| Always-free compute | New-account bonus | Best always-free extras | |
|---|---|---|---|
| Google Cloud | e2-micro VM (permanent) | $300 credit | Cloud Run 2M req/mo, BigQuery 1 TiB/mo |
| AWS | none (12-mo t-class, then paid) | — | DynamoDB 25 GB, Lambda 1M req/mo |
| Azure | none (12-mo B-class, then paid) | $200 credit | Cosmos DB 1,000 RU/s + 25 GB, no expiry |
For a persistent little service — a bot, a cron job, a status page — GCP's e2-micro plus its generous Cloud Run and BigQuery always-free limits make it the obvious home for a side project. Azure's counter is Cosmos DB: a genuinely permanent free managed database with 1,000 RU/s and 25 GB, no 12-month clock, which is the best always-free database of the three if your workload is database-heavy and compute-light.
AWS is the one to be careful with. It has the most services and the most flexibility, but it also charges for the things beginners don't expect — data transfer out, NAT gateways — and the free instances expiring after a year is a real trap. It's the right choice when you're building something you expect to grow into a real AWS bill anyway, not when you want "free forever."
The trap across all three: leaving something running past the 12-month mark on AWS or Azure. If the goal is genuinely zero cost with no expiry to track, GCP's e2-micro is the only box that fits, and pairing it with [Cloudflare](/entry/cloudflare-vs-supabase-pay-per-request-meters-versus-a-flat-backend-fee) in front (free) covers most of what a hobby project needs.