When you're building a SaaS, the hosting decision you make at launch shapes your architecture, your costs, and your stress levels for the next 12–18 months.
Too many founders over-engineer for scale they'll never see (migration to Kubernetes on day one, anyone?). Too many under-invest and hit painful walls at exactly the wrong moment — when they're trying to close their first enterprise deal.
Here's a pragmatic, battle-tested path from 0 to 10K users on VPS infrastructure.
---
The Bootstrap Stack: 0–100 Users
What You Need
- 2 VPS instances (web + database) - Load balancer (HAProxy or Nginx) - Object storage for assets (S3-compatible)User → Load Balancer → Web Server (VPS 1)
→ Database (VPS 2) → Object Storage
Recommended Specs
| Component | Spec | Monthly Cost | |-----------|------|-------------| | Web VPS | 2 vCPU, 2 GB RAM, 50 GB NVMe | $10–$25 | | Database VPS | 2 vCPU, 4 GB RAM, 80 GB NVMe | $25–$50 | | Load Balancer | Nginx on the web VPS (same box) | $0 (included) | | Total | | $35–$75/mo |Key Decisions
- Use a managed database — PostgreSQL or MySQL on a separate VPS gives you room to scale without touching application code - Keep it monolithic — A single well-structured codebase is faster to iterate on. You can split services later - No Docker yet — For 0–100 users, a bare-metal or VPS-native deployment is simpler to debug and cheaper to run - Automate backups — Daily database snapshots + off-site storage. This is non-negotiable, even at this stageWhen to Upgrade
- Your database consistently uses >60% of RAM - Response times degrade during peak traffic - You're deploying more than once a day and need staging environments---
The Growth Stack: 100–1,000 Users
What Changes
User → CDN (static assets)
→ Load Balancer (HAProxy)
→ Web Server Cluster (2–3 VPS)
→ Database Primary + Read Replica
→ Redis Cache
Required Additions
| Component | Spec | Monthly Cost | |-----------|------|-------------| | Web VPS (×2–3) | 4 vCPU, 4 GB RAM each | $25–$50 each | | Database Primary | 4 vCPU, 8 GB RAM | $50–$100 | | Read Replica | 2 vCPU, 4 GB RAM | $25–$50 | | Redis Cache | 2 vCPU, 2 GB RAM | $10–$25 | | Total | | $135–$275/mo |Architecture Changes
1. Separate the load balancer — Move HAProxy or Nginx to its own VPS (2 vCPU is enough) 2. Add a CDN — Cloudflare or similar for static assets. This cuts 40–60% of bandwidth costs 3. Database read replica — Offload reporting, analytics, and read-heavy operations 4. Redis for caching — Session storage, query caching, rate limiting. Single-handedly the highest ROI infrastructure change at this stage 5. CI/CD pipeline — GitHub Actions or GitLab CI. Automated testing + deployment to staging, then productionMonitoring That Matters
- Application performance: Response time p50/p95/p99 - Database: Connection count, slow query log, cache hit ratio - Infrastructure: CPU, memory, disk I/O, network - Business: Signups, active users, error rateWhen to Upgrade
- You need horizontal scaling beyond 3 web servers - Database writes become a bottleneck - Your CI/CD pipeline takes longer than 15 minutes - You're hiring a dedicated DevOps engineer---
The Scale Stack: 1,000–10,000 Users
The Shift
User → CDN
→ Load Balancer (×2, HAProxy keepalived)
→ Auto-scaling Web Tier (containerised)
→ Database Cluster (Patroni/Pgpool)
→ Redis Cluster
→ Queue Worker (RabbitMQ/Redis)
→ Search Service (Elasticsearch/MeiliSearch)
Infrastructure
| Component | Spec | Monthly Cost | |-----------|------|-------------| | Load Balancers (×2 HA) | 2 vCPU, 2 GB RAM each | $25 each | | Web Tier (4–8 VPS) | 4 vCPU, 8 GB RAM each | $50–$100 each | | Database Cluster (×3) | 8 vCPU, 16 GB RAM each | $100–$200 each | | Redis Cluster (×3) | 4 vCPU, 8 GB RAM each | $50–$100 each | | Queue Workers (2–4) | 4 vCPU, 8 GB RAM each | $50–$100 each | | Search Service (×2) | 4 vCPU, 8 GB RAM each | $50–$100 each | | Total | | $600–$1,800/mo |Key Architecture Decisions
1. Containerisation is now worth it — Docker + a simple orchestrator (Docker Swarm or Nomad). You don't need Kubernetes for 10K users 2. Database clustering — Patroni (PostgreSQL) or Percona XtraDB Cluster (MySQL). High availability with automatic failover 3. Queue-based architecture — Decouple background jobs (emails, reports, webhook deliveries) from the web tier 4. Search service — If your app has any search functionality, dedicated search infrastructure is transformative 5. Feature flags — LaunchDarkly or a simple in-house system. Decouple deployment from releaseThe 10K Milestone Checklist
- [ ] Automated horizontal scaling (add web nodes on CPU > 70%) - [ ] Database failover tested monthly - [ ] Disaster recovery plan documented and rehearsed - [ ] Backup restore tests passing - [ ] Incident response runbook in place - [ ] Cost per user trending down (economies of scale) - [ ] 99.9% uptime achieved for 3 consecutive months---
What NOT to Do
Don't Over-Engineer Prematurely
The graveyard of failed startups is littered with beautifully architected systems that solved scale problems nobody had. Use the simplest thing that works, and evolve it as you learn.Don't Skip Backups
We've seen it a hundred times: "Backups are on my list." Then the database corrupts. Start with automated daily backups on day one.Don't Use Your Production VPS for Staging
A $10/mo VPS for staging is cheap insurance against deploying broken code to production. Always test in an environment that mirrors production.Don't Ignore Database Migrations
Schema changes on a live database with 10K users require planning. Use a migration framework (Alembic for Python, Flyway for Java, ActiveRecord for Rails) and test every migration on a staging copy of production data.Don't Forget About Security
- Regular security updates (automate with unattended-upgrades) - SSH key-only authentication (no passwords) - Firewall rules limiting access to necessary ports only - Regular security audits---
Why UK VPS Hosting Matters for SaaS
For UK-based SaaS companies, hosting infrastructure isn't just a technical decision — it's a compliance decision.
- GDPR by default — Data staying in UK data centres simplifies your compliance obligations
- Sub-10ms latency — UK-based users experience faster response times
- UK support hours — When something breaks at 3pm on a Tuesday, you want an engineer who's awake and available
- Predictable costs — No surprise egress fees. What you see is what you pay
- Free migration — Moving from your current provider is handled by engineers who know the platform inside out
---
Summary
| Stage | Users | Monthly Infra Cost | Key Architecture |
|---|---|---|---|
| Bootstrap | 0–100 | $35–$75 | Monolithic, separate DB |
| Growth | 100–1K | $135–$275 | Web cluster, CDN, Redis |
| Scale | 1K–10K | $600–$1,800 | Containerised, DB cluster, queues |
The best architecture for your SaaS is the one that lets you ship features today without painting yourself into a corner for tomorrow. Start simple, monitor everything, and evolve deliberately.
---
Hostingowy provides KVM VPS hosting on UK hardware with NVMe storage, transparent pricing, and free migration from any provider. Deploy your first VPS in under 60 seconds.