Cloud Hosting for SaaS: A Founder’s Guide
Your infrastructure is your second biggest expense after payroll. Most SaaS founders overspend 3–5x on cloud hosting because they pick the wrong abstraction layer at the wrong stage. This guide breaks down what you actually need at each revenue milestone.
What SaaS Founders Actually Need
After talking to hundreds of SaaS founders, the requirements always come down to five things:
- Reliability: 99.9%+ uptime without a dedicated DevOps hire
- Cost predictability: A fixed monthly bill, not usage-based surprises
- Scaling: The ability to add capacity in minutes, not days
- Performance: Fast response times that keep customers happy
- Simplicity: Infrastructure that one developer can manage
Notice what is not on the list: multi-region failover, auto-scaling to 10,000 instances, managed Kubernetes, or serverless functions. Those are solutions looking for a problem at the $1k–$10k MRR stage.
The SaaS Infrastructure Spending Trap
Here is what we see repeatedly:
- Pre-revenue: Founder picks AWS/GCP because “that is what you use”
- $1k MRR: Bill is $200–500/mo for what should cost $20/mo
- $5k MRR: Bill is $800–2,000/mo. Founder hires a DevOps contractor to “optimize”
- $10k MRR: Bill is $1,500–4,000/mo. 15–40% of revenue goes to infrastructure
The industry benchmark is 5–10% of revenue on infrastructure. If you are above 15%, your hosting choice is actively hurting your business.
Why Bare Metal Beats Shared Cloud at $1k–$10k MRR
Shared cloud providers (AWS, GCP, DigitalOcean, Render) sell you fractions of a server at a premium. The economics only make sense at two extremes: very small (free tier / hobby) or very large (enterprise with negotiated rates).
In the $1k–$10k MRR range, bare metal is the clear winner:
The math is stark. A SaaS running on shared cloud at $200/mo could run on bare metal for $11/mo. That is $2,268/year back in your pocket — real money for an early-stage startup.
The Recommended SaaS Stack on Bare Metal
Here is the stack we recommend for SaaS products from launch through $10k MRR. It handles thousands of concurrent users on a single server.
Single-Server Architecture
# One RAW server ($11/mo) running everything:
#
# Nginx - Reverse proxy, SSL termination, static files
# Your App - Node.js, Python, Go, Ruby, whatever you ship in
# PostgreSQL - Primary database
# Redis - Session store, cache, job queue
# Caddy/Certbot - Automatic HTTPS
# Docker - Optional, for containerized deploysThis is not a toy setup. A 4 vCPU / 8 GB server with NVMe storage handles:
- 500–2,000 concurrent users comfortably
- 10,000+ API requests per minute
- PostgreSQL databases up to 50 GB with fast query times
- Background job processing (Sidekiq, Celery, BullMQ)
When to Add a Second Server
You need a second server when one of these is true:
- CPU is consistently above 70% during business hours
- Your database needs more than 50% of available RAM for caching
- You need zero-downtime deploys with health-checked rollover
- Compliance requires database isolation from application servers
For most SaaS products, this happens between $5k and $15k MRR. At that point, add a second RAW server ($11/mo) and split your app and database. Total infrastructure cost: $22/mo.
PaaS vs IaaS: When to Use Each
Use a PaaS (Render, Railway, Heroku) When:
- You are a solo non-technical founder and cannot SSH into a server
- You are validating an idea and deploy frequency matters more than cost
- Your monthly bill is under $20 and the convenience premium is worth it
- You have zero tolerance for server maintenance of any kind
Use IaaS / Bare Metal (RAW) When:
- You or your co-founder can run basic Linux commands
- Your monthly hosting bill exceeds $50/mo on a PaaS
- You want predictable costs that do not scale with traffic spikes
- You need to run a database, cache, and app on the same machine
- You want root access to install custom tools, monitoring, or agents
The crossover point is usually $30–50/mo on a PaaS. At that spend, you are paying 3–5x what the underlying compute costs. If you can spend 30 minutes setting up a server, the savings compound every month.
Cost Predictability: The Hidden Killer
Usage-based pricing is a trap for SaaS founders. Here is why:
- Traffic spikes: A Hacker News post or Product Hunt launch should be a celebration, not a billing event
- Background jobs: Data processing, email sends, and cron jobs consume compute you did not budget for
- Bandwidth: Serving images, APIs, and webhooks adds up fast on metered plans
- Database connections: Managed databases charge per connection or per query on some plans
RAW pricing is flat. $6/mo, $11/mo, or $21/mo. No overage charges. No bandwidth fees up to 20 TB. No surprises.
Scaling Strategy: $0 to $10k MRR
Even at $10k MRR with a three-server setup (production app, production database, staging), your total infrastructure cost is $53/mo — that is 0.5% of revenue. Compare that to $1,500–4,000/mo on AWS.
Security and Compliance Basics
SaaS founders worry that bare metal means handling security alone. Here is what you actually need to do:
- Automatic updates: Enable unattended-upgrades for security patches
- Firewall: UFW with only ports 22, 80, 443 open. Five minutes to configure
- SSH keys: Disable password authentication. RAW sets this up by default
- Backups: Automated daily pg_dump to object storage or a second server
- HTTPS: Certbot or Caddy handles SSL automatically
This takes 30 minutes to set up once. After that, it is automated. You do not need a security team at this stage.
The Decision Framework
Ask yourself three questions:
- Can I (or my co-founder) SSH into a server? If yes, use bare metal. If no, use a PaaS until you can.
- Is my hosting bill more than 10% of MRR? If yes, you are overspending. Move to bare metal.
- Do I need managed Kubernetes or multi-region? If no (and you probably do not), bare metal is simpler and cheaper.
Get Started
npx rawhq deployDeploy a SaaS-ready server in 13 seconds. 7-day free trial. No credit card required.
Your SaaS revenue should go toward building product and acquiring customers — not subsidizing cloud provider margins.