Cloud

Self-Hosting vs Cloud: What Saves More Money in 2026?

A realistic cost comparison between self-hosting on Hetzner/OVH and cloud platforms like AWS/GCP/Azure. Includes hidden costs, 5-year TCO, and a decision framework.

A
Abhishek Patel9 min read

Infrastructure engineer with 10+ years building production systems on AWS, GCP,…

Self-Hosting vs Cloud: What Saves More Money in 2026?
Self-Hosting vs Cloud: What Saves More Money in 2026?

The Real Cost of "Cheap" Servers

Every developer has done the math at 2 AM: "A Hetzner dedicated server with 64GB RAM costs $50/month. The equivalent EC2 instance is $350. I'm switching." And every experienced engineer has a story about why that math was incomplete. Self-hosting isn't always cheaper. Cloud isn't always better. The right answer depends on your traffic patterns, team size, compliance requirements, and -- honestly -- how much you enjoy being on call at 3 AM.

I've run production workloads on both sides. A 200-server Kubernetes cluster on AWS. A scrappy 3-server Hetzner setup handling 50,000 daily users. This guide gives you the real numbers, the hidden costs nobody talks about, and a framework for deciding which approach fits your situation in 2026.

What Is Self-Hosting vs Cloud Hosting?

Definition: Self-hosting means running your applications on servers you manage directly -- whether bare-metal machines in a data center, dedicated servers from providers like Hetzner or OVH, or colocated hardware you own. Cloud hosting means using managed infrastructure from providers like AWS, GCP, or Azure where the provider handles hardware, networking, and many operational concerns.

Raw Cost Comparison: Apples to Apples

Let's compare equivalent configurations across providers. All prices are as of early 2026.

Small Application (2-4 vCPU, 8GB RAM)

ProviderConfigurationMonthly CostBandwidth
Hetzner DedicatedAX41 (6-core, 64GB, 2x512GB NVMe)$4520TB included
Hetzner CloudCPX31 (4 vCPU, 8GB)$1520TB included
OVHRise-1 (4-core, 32GB, 2x500GB)$55Unmetered
AWS EC2c6g.xlarge (4 vCPU, 8GB)$100$0.09/GB out
GCPe2-standard-4 (4 vCPU, 16GB)$97$0.12/GB out
AzureB4ms (4 vCPU, 16GB)$121$0.087/GB out
DigitalOceanPremium (4 vCPU, 8GB)$484TB included

On raw compute, self-hosting is 3-8x cheaper. A Hetzner AX41 at $45/month gives you more compute power than an AWS instance costing $100+ per month. But compute cost is only part of the story.

Full Stack Comparison (App + Database + Cache + CDN)

ComponentSelf-Hosted (Hetzner)Cloud (AWS)
Application Server$45 (dedicated)$100 (c6g.xlarge)
Database$0 (runs on same server)$140 (RDS db.r6g.large)
Redis Cache$0 (runs on same server)$40 (ElastiCache t4g.small)
Load Balancer$0 (Nginx on server)$25 (ALB)
CDN$0 (Cloudflare free)$50 (CloudFront)
Monitoring$0 (Grafana + Prometheus)$30 (CloudWatch)
Backups$5 (Hetzner Storage Box)$20 (EBS snapshots + S3)
Bandwidth (1TB/mo)$0 (included)$90 (data transfer out)
Total$50/month$495/month

That's a 10x difference. For a solo developer or small team running a SaaS with modest traffic, self-hosting saves $5,000+ per year. But this comparison ignores the most expensive resource: your time.

The Hidden Costs of Self-Hosting

The monthly server bill is the easy part. Here's what the spreadsheet misses:

Operational Overhead

  • Server maintenance -- OS patching, security updates, kernel upgrades. Budget 2-4 hours per month per server.
  • Monitoring setup -- Prometheus, Grafana, Alertmanager don't install themselves. Initial setup takes 1-2 days. Ongoing tuning is 2-4 hours per month.
  • Backup management -- configuring automated backups, testing restores (you do test restores, right?), managing retention. 4-8 hours per month.
  • Security -- firewall rules, fail2ban, SSH hardening, TLS certificate rotation, vulnerability scanning. This never ends.
  • On-call burden -- when your Hetzner server's disk fails at 2 AM, nobody pages a SRE team. You're the SRE team.

If your time is worth $100/hour (conservative for a senior engineer), 15 hours/month of ops work costs $1,500 -- more than the AWS bill you were trying to avoid.

Reliability Gaps

A single Hetzner server gives you approximately 99.9% uptime -- about 8.7 hours of downtime per year. AWS's managed services (RDS, ElastiCache, ALB) offer 99.95-99.99% with automatic failover. If an hour of downtime costs your business $500+ in lost revenue or customer trust, the cloud premium pays for itself.

Scaling Constraints

Self-hosted servers don't auto-scale. If your SaaS lands on Hacker News and traffic spikes 50x, a Hetzner server falls over. On AWS, an Auto Scaling Group spins up additional instances in under a minute. For businesses with unpredictable traffic, this elasticity has real value.

Watch out: Hetzner and OVH don't have SLAs comparable to cloud providers. Hetzner's SLA guarantees 99.9% network availability but doesn't cover hardware failures with the same urgency as AWS. Budget for occasional multi-hour outages during hardware replacement.

The Hidden Costs of Cloud Hosting

Cloud isn't innocent either. These costs sneak up on every team:

  • Data transfer -- AWS charges $0.09/GB for outbound data. A media-heavy site serving 5TB/month pays $450 just in bandwidth. Hetzner includes 20TB for free.
  • Managed service premiums -- RDS costs 40-60% more than running PostgreSQL yourself on EC2. You're paying for automated backups, patching, and failover.
  • NAT Gateway tax -- $32/month per AZ plus $0.045/GB processed. A typical 3-AZ setup costs $96/month before a single byte of application traffic.
  • Vendor lock-in -- using DynamoDB, Aurora, or Lambda deeply ties you to AWS. Migration costs grow exponentially with adoption.
  • Complexity creep -- teams add services because they're available, not because they're needed. A simple app ends up touching 15 AWS services, each with its own billing model.

When Self-Hosting Wins

  1. Predictable traffic -- your load doesn't spike 10x unexpectedly. You can provision for peak and accept slight over-provisioning.
  2. Bandwidth-heavy workloads -- video streaming, file hosting, CDN origins. Cloud data transfer costs obliterate any compute savings.
  3. Small team, low complexity -- 1-3 developers who are comfortable with Linux administration. The ops overhead is manageable.
  4. Cost is survival -- bootstrapped startups where $400/month vs $50/month is the difference between 12 months of runway and 3.
  5. Data sovereignty -- certain regulations require specific geographic hosting or prohibit US-owned cloud providers.

When Cloud Wins

  1. Unpredictable traffic -- viral growth, seasonal spikes, or event-driven loads that vary 10x or more.
  2. Compliance requirements -- SOC 2, HIPAA, PCI-DSS. Cloud providers offer pre-certified infrastructure. Self-certifying bare-metal is expensive and time-consuming.
  3. Team lacks ops expertise -- if nobody on your team has managed production Linux servers, cloud managed services prevent costly mistakes.
  4. Rapid scaling -- growing from 1,000 to 100,000 users in months. Adding servers on Hetzner takes hours to days. Cloud scales in minutes.
  5. Global distribution -- multi-region deployment across continents. Cloud providers have dozens of regions. Self-hosting in multiple data centers is operationally painful.

The Hybrid Approach: Best of Both

The smartest teams in 2026 aren't choosing sides -- they're combining both:

  • Self-host the baseline -- your steady-state compute (app servers, databases) on Hetzner or OVH at predictable costs.
  • Cloud for burst and managed services -- use Cloudflare for CDN and DDoS protection (free tier is generous). Use AWS for specific managed services you'd rather not operate (SES for email, S3 for object storage).
  • Cloudflare Workers for edge logic -- authentication, redirects, A/B testing at the edge, without provisioning origin servers.

Pro tip: Tools like Coolify, Dokku, and CapRover make self-hosting almost as easy as PaaS platforms. Coolify in particular gives you a Vercel-like deployment experience on your own servers. If your main objection to self-hosting is operational complexity, these tools eliminate 80% of it.

5-Year Total Cost of Ownership

ScenarioSelf-Hosted (5yr)Cloud (5yr)Savings
Solo dev, simple SaaS$3,000$29,700$26,700 (self-host)
Small team (3 devs), moderate traffic$12,000 + 900 hrs ops$42,000Depends on hourly rate
Growth stage, 100k users$36,000 + 2,400 hrs ops$72,000Break-even at $15/hr ops
Enterprise, compliance needs$60,000 + audit costs$120,000Cloud wins (audit savings)

The breakeven point depends heavily on how you value operations time. If you have dedicated ops engineers already on payroll, self-hosting is almost always cheaper. If ops time comes from your product engineers, the effective cost is much higher.

Frequently Asked Questions

Is Hetzner reliable enough for production?

Yes, with caveats. Hetzner's network uptime is excellent -- comparable to major cloud providers. Hardware failures happen but are handled within hours. The main gap is automatic failover: if a server dies, you're responsible for recovery. Mitigate this with redundant servers, automated health checks, and DNS failover using Cloudflare. Thousands of SaaS companies run production on Hetzner without issues.

How much does self-hosting really save per year?

For a typical small SaaS application, self-hosting on Hetzner costs $50-150/month versus $400-800/month on AWS. That's $3,000-7,800/year in savings on infrastructure alone. However, you need to subtract the cost of operations time -- typically 10-20 hours per month. If that time costs more than the savings, cloud is cheaper.

Can I self-host and still pass SOC 2 audits?

Technically yes, but it's significantly harder. SOC 2 requires documented controls for physical security, access management, and incident response. Cloud providers inherit many controls from their own certifications. Self-hosting means you need to document and demonstrate every control yourself. Most startups pursuing SOC 2 find cloud hosting saves 100-200 hours of audit preparation.

What about DigitalOcean or Linode as a middle ground?

DigitalOcean and Linode (now Akamai) offer a middle ground: cloud-like simplicity with more predictable pricing. They cost 50-70% less than AWS for equivalent compute and include bandwidth. The tradeoff is a smaller service catalog -- no equivalents to Lambda, DynamoDB, or SQS. For straightforward web applications, they're excellent choices that avoid both cloud bill shock and bare-metal ops burden.

How do I migrate from cloud to self-hosted?

Start with stateless application servers -- containerize your app and deploy on Hetzner using Docker or Kubernetes. Keep your database on managed cloud services initially (the hardest component to self-manage). Migrate the database last, after you've built confidence with self-hosted operations. Use Cloudflare as your CDN and DNS provider for zero-downtime migration via DNS cutover. Budget 2-4 weeks for a complete migration.

Does self-hosting work for globally distributed users?

It's harder but feasible. Use Cloudflare's global CDN for static assets and edge caching. For dynamic content, you'll need servers in multiple regions -- Hetzner has data centers in Germany, Finland, the US, and Singapore. For true global coverage, a hybrid approach works better: self-host in your primary region and use cloud provider edge locations for global distribution.

Choose Based on Your Constraints, Not Ideology

The self-hosting vs cloud debate generates strong opinions, but the right answer is boring and pragmatic. If you're a bootstrapped solo developer with Linux experience and predictable traffic, self-hosting on Hetzner saves real money. If you're a funded startup scaling fast with compliance requirements and no dedicated ops team, cloud is worth the premium. Most teams benefit from a hybrid: self-host the predictable baseline, use cloud for burst capacity and managed services, and put Cloudflare in front of everything. Don't optimize for ideology. Optimize for your team's constraints, your budget, and your tolerance for 3 AM pages.

A

Written by

Abhishek Patel

Infrastructure engineer with 10+ years building production systems on AWS, GCP, and bare metal. Writes practical guides on cloud architecture, containers, networking, and Linux for developers who want to understand how things actually work under the hood.

Related Articles

Enjoyed this article?

Get more like this in your inbox. No spam, unsubscribe anytime.

Comments

Loading comments...

Leave a comment

Stay in the loop

New articles delivered to your inbox. No spam.