# Low-Cost Cloud Stack Cheatsheet

- URL: https://karandeepsingh.ca/cheatsheets/cost/low-cost-cloud-stack/
- Author: Karandeep Singh
- Published: 2026-01-15
- Tags: aws, cloud, cost
- Summary: Quick-reference for a lean, low-cost cloud stack. Free-tier frontend hosting, API platforms, serverless Postgres, auth, a full cost comparison table, low-cost VPS/cloud providers (OVH, Hetzner, Oracle, DigitalOcean, Vultr), and when to move to AWS/GCP/Azure.

When a project is pre-revenue, every dollar spent on infrastructure is a dollar not spent on the product. The good news: managed and serverless platforms now give you production-grade hosting, databases, and CI/CD on free tiers, and low-cost VPS providers give you a full server for the price of a coffee. This is the reference I reach for to keep cloud spend near **$0** until usage justifies more. For the AWS-native path once you outgrow these, see my [CloudFormation cheatsheet](https://karandeepsingh.ca/cheatsheets/devops/cloudformation/) and [boto3 cheatsheet](https://karandeepsingh.ca/cheatsheets/python/python-boto3/).

> **Note:** Prices below are ballparks, last re-checked **August 2026**, and they change
> often — sometimes without announcement, as the Oracle box further down shows. Treat them
> as *relative* comparisons, not exact quotes, and confirm on each vendor's pricing page
> before you commit to anything.

## Golden rules

- **Start on free tiers + serverless** (scale-to-zero). Bills rise only as usage does.
- **Managed platforms over your own servers** until you genuinely can't.
- **One tool per job.** No duplicate SaaS paying for the same capability twice.
- **A cheap VPS often beats a hyperscaler** for fixed, predictable workloads.
- **Watch data egress.** It is the silent line item, cheap or unmetered on OVH/Hetzner, expensive on the big clouds.
- **Move to AWS/GCP/Azure only when scale, control, or compliance demands it,** not before.

_Diagram: Ranges, not quotes — the tables below carry the per-provider detail. The rungs are deliberately not to scale: what matters is that each step buys you something specific, and that **you should only climb when the step below actually stops working.** Most projects never need the top rung._

## Managed services cost comparison

| Layer | Service | Free tier | Paid entry | Pick it when |
|---|---|---|---|---|
| **Frontend** | Netlify | 100 GB bandwidth, 300 build min/mo | ~$19/mo | React/Vue/Astro sites + serverless functions |
| **Frontend** | Vercel | Hobby free, 100 GB | ~$20/mo | Next.js, edge functions |
| **Frontend** | Cloudflare Pages | Unlimited requests, free | Workers ~$5/mo | Cheapest at scale, static + edge |
| **Frontend** | GitHub Pages | Free static hosting | Free | Pure static, no SSR/functions |
| **API / backend** | Railway | Usage credit | ~$5/mo + usage | APIs, workers, cron, quick DB add-ons |
| **API / backend** | Render | Free web service (sleeps) | ~$7/mo | Always-on APIs + background workers |
| **API / backend** | Fly.io | Small free allowance | Usage-based | Containers close to users, global |
| **Database** | Neon | Serverless Postgres, scales to zero | ~$19/mo | Postgres; cheapest when idle |
| **Database** | Supabase | 500 MB Postgres + auth + storage | ~$25/mo | Postgres **plus** auth, storage, realtime |
| **Database** | Xata | Free tier (Postgres-based) | Usage-based | Tables + built-in search |
| **Database** | CockroachDB | Free tier; distributed SQL (Postgres-compatible) | Usage-based | Postgres wire-compatible with HA / horizontal scale |
| **Database** | Turso | SQLite/libSQL, generous free tier | ~$5/mo+ | Edge/low-latency reads, many small DBs |
| **Database** | PlanetScale | Serverless MySQL/Postgres (no free tier) | ~$39/mo | Branching + serverless scale |
| **Database** | MongoDB Atlas | Free 512 MB (M0) | ~$9/mo (Flex) | NoSQL / document model |
| **Database** | Upstash | Serverless Redis/Postgres, pay-per-request | Pay-per-use | Cache, queues, serverless Redis |
| **Auth / BaaS** | Supabase Auth | Free (in the plan above) | Included | Bundled with your database |
| **Auth / BaaS** | Firebase | Spark plan free | Blaze pay-as-you-go | Google BaaS, realtime, mobile |
| **Auth / BaaS** | Clerk | Free to ~10k monthly users | ~$25/mo | Drop-in auth with prebuilt UI |

## Low-cost cloud & VPS providers

When you want a real server (fixed price, full control) rather than a managed platform, these are the cost leaders:

| Provider | Cheapest entry | Free tier / credit | Best for |
|---|---|---|---|
| **Oracle Cloud** | Pay-as-you-go | **Always-free: 2 ARM cores + 12 GB RAM** (halved in 2026 — see below), 2 AMD micro VMs, 200 GB block | Free always-on compute, with a caveat |
| **Hetzner** | ~€4/mo VPS (2 vCPU, 4 GB) | None | Cheapest reliable VPS + dedicated (EU) |
| **OVHcloud** | ~$4–6/mo VPS | Trial | EU cloud, VPS, cheap dedicated, DDoS protection |
| **Contabo** | ~$5/mo VPS (big RAM/disk) | None | Most RAM & storage per dollar |
| **DigitalOcean** | $4–6/mo droplet | $200 credit (60 days) | Simple UX, managed DB, App Platform |
| **Vultr** | ~$2.50–6/mo | Trial credit | Many regions, cheap instances |
| **Linode (Akamai)** | $5/mo (1 GB) | Trial credit | Straightforward VPS |
| **Scaleway** | ~€4/mo (ARM) | Trial | EU cloud, cheap ARM instances |
| **Netcup** | ~€3/mo VPS | None | Rock-bottom EU VPS pricing |
| **Kamatera** | ~$4/mo (configurable) | 30-day trial | Flexible specs, hourly billing, global |
| **IONOS** | ~$2/mo VPS (intro) | Trial | Cheapest intro VPS (EU/US) |
| **UpCloud** | ~$5/mo | Trial credit | Fast MaxIOPS storage, EU/global |
| **AWS** | Pay-as-you-go | 12-month free tier | Full control, scale, compliance |
| **Google Cloud** | Pay-as-you-go | $300 credit + free tier | Data / ML workloads |
| **Azure** | Pay-as-you-go | $200 credit + free tier | Microsoft ecosystem |

**Decision:**
Enforced from **18 August 2026**: the Always Free Ampere A1 pool drops to
**2 OCPU / 12 GB** per tenancy.

Anything above the new ceiling is **terminated automatically** — no notice, no email.
If you are running a 4-core Always Free box, resize it before that date.

**Do you accept?**

**danger (oracle):**
**Oracle halved its Always Free ARM allowance in 2026, and it is enforced from 18 August 2026.**

The Ampere A1 pool went from **4 OCPU / 24 GB** to **2 OCPU / 12 GB** — a tenancy-wide
ceiling of 1,500 OCPU-hours and 9,000 GB-hours a month. Anything above the new limit is
**terminated automatically**, and Oracle shipped the change with no blog post and no
customer email; people found out when instances stopped. The 2 AMD micro VMs and the 200 GB
of block storage are unchanged.

If you are running a 4-core Always Free box, resize it *now*. And take the general lesson:
a free tier is a loan, not a guarantee — never put anything on one you would be sorry to
have terminated with no notice.

Reported by [InfoQ](https://www.infoq.com/news/2026/07/oracle-cloud-free-tier-limits/) and
[Linuxiac](https://linuxiac.com/oracle-quietly-cuts-free-tier-ampere-a1-resources-in-half/);
check Oracle's [Free Tier docs](https://docs.oracle.com/iaas/Content/FreeTier/freetier.htm)
for the current numbers before you build on them.

## Canadian options (data residency)

If you need data to stay in Canada, you have two routes. First, the big clouds and several budget hosts already run **Canadian regions**, so you get residency without a Canadian vendor:

- **AWS** — Montreal (`ca-central-1`) and **Calgary (`ca-west-1`)**
- **Azure** — Canada Central (Toronto), Canada East (Quebec City)
- **Google Cloud** — Montreal (`northamerica-northeast1`), Toronto (`northamerica-northeast2`)
- **OVHcloud** — Beauharnois, Quebec
- **Vultr / DigitalOcean** — Toronto

Second, Canadian-owned hosts (data stays in Canada, local billing/support):

| Provider | Cheapest entry (CA$) | Data centers | Notes |
|---|---|---|---|
| **Web Hosting Canada (whc.ca)** | ~CA$10/mo VPS | Montreal, Beauharnois | Canadian-owned, data in Canada |
| **Canadian Web Hosting** | ~CA$15/mo cloud/VPS | Vancouver, Toronto | Canadian-owned, SOC 2 |
| **HostPapa** | ~CA$20/mo VPS | Toronto | Canadian-owned, small-business focus |
| **Aptum** | Custom (enterprise) | Toronto, Montreal | Managed hybrid/multi-cloud |
| **Cloud.ca** | Custom (enterprise) | Canada | Data-sovereign cloud |

For most projects the cheapest Canadian-residency option is simply an **AWS/OVH Canadian region** or a **Toronto Vultr/DigitalOcean droplet**; the Canadian-owned hosts are worth it when local ownership, support, or procurement matters.

## Quick picks

The "just tell me what to use" version:

- **Marketing / static site** → Astro on **Netlify** or **Cloudflare Pages** (free)
- **App frontend** → Next.js on **Vercel**
- **API / backend** → **Railway** (or Render)
- **Database** → **Neon** (Postgres), or **Supabase** if you also want auth + storage
- **Auth** → **Supabase Auth** or **Clerk**
- **Cheap always-on server** → a **Hetzner / OVH** VPS, or **Oracle Cloud**'s free tier if you can live inside 2 ARM cores and the terms-change risk above
- **Canadian data residency** → an AWS/Azure/GCP **Canadian region**, or a Canadian-owned host (below)

## Total monthly cost: day one vs traction

| Stage | Setup | Est. cost |
|---|---|---|
| **Day 1 (pre-traffic)** | Netlify + Neon + Railway free tiers | **~$0** |
| **Always-on server** | Hetzner/OVH VPS, or Oracle free tier (2 ARM cores) | **~$0–6/mo** |
| **Early traction** | Paid managed tiers as you cross free limits | **~$25–75/mo** |
| **Scaling** | AWS/GCP/Azure for scale & compliance | Usage-based |

## Cost traps to avoid

- Running an **always-on VM for a static site** (a CDN host does it for free).
- **Over-provisioning a managed database** when serverless scale-to-zero fits.
- **Defaulting to a hyperscaler** when a $5 VPS would do — hyperscaler egress, NAT, and per-GB storage fees add up fast.
- **Ignoring data-egress fees** — cheap/unmetered on OVH and Hetzner, expensive on AWS/GCP/Azure.
- Jumping to **Kubernetes or a full AWS build too early** — complexity you don't need yet.
- Buying **annual plans** before you've validated you'll use the service.

## When to move to AWS / GCP / Azure

Graduate off the free tiers and cheap VPS boxes when one of these is true:

- **Cost crossover** — your managed/VPS bill exceeds equivalent hyperscaler cost at your usage.
- **Control** — you need VPCs, private networking, or specific managed services the cheaper providers can't give.
- **Compliance** — SOC 2 / PCI / data-residency requirements a budget host won't meet.
- **Scale** — traffic or data volume outgrows the platform's ceilings.

At that point, keep the same discipline: infrastructure as code ([CloudFormation](https://karandeepsingh.ca/cheatsheets/devops/cloudformation/) or Terraform), and only provision what the numbers justify.

The whole point: spend on **product**, not idle servers, until the revenue is there to fund them.
