Marketing pages show base prices. Invoices tell a different story, especially on managed platforms where the bill grows through usage-based add-ons rather than the sticker price.
Self-hosting has its own cost story, and it's usually told as "you save money but pay in time." That framing deserves a closer look with actual, published numbers rather than rough estimates.
What a small VPS actually costs today
For a single web app with a database and light traffic, a 2 vCPU / 4 GB RAM instance is the standard starting point. Published pricing from the two most commonly compared VPS providers looks like this as of mid-2026:
- Hetzner CX22 (2 vCPU, 4 GB RAM, 40 GB NVMe SSD, 20 TB of included traffic): €7.99 a month, roughly $9.49, following Hetzner's April 2026 price adjustment. The 20 TB traffic allowance is bundled in at no extra charge.
- DigitalOcean Basic Droplet (2 vCPU, 4 GB RAM): $24 a month, with a smaller included transfer allowance and overage billed per gigabyte beyond that.
Both figures come from the providers' own published pricing, cross-checked against independent benchmarking comparisons. The gap between them isn't a rounding error. It reflects a genuine difference in positioning: Hetzner competes almost entirely on raw compute-per-dollar, while DigitalOcean's higher price includes a broader ecosystem (managed databases from $15/month, App Platform, integrated CDN, and more extensive documentation for teams that want to self-manage less).
What a dedicated, production-grade instance costs
Once traffic grows enough that shared-CPU noisy-neighbor effects start to matter, teams typically move to dedicated-core instances. DigitalOcean's own pricing page lists CPU-Optimized Droplets starting at $42/month for 4 GB of memory, scaling up to $168/month for an 8 vCPU / 16 GB configuration. These are dedicated-core instances built for sustained CPU workloads rather than the shared-core Basic tier.
Hetzner's dedicated-vCPU line (CCX) targets the same use case at meaningfully lower list prices, though the two providers structure their tiers differently enough that a precise like-for-like comparison at this spec level needs to be checked against current pricing pages rather than quoted as a fixed figure here.
Where managed PaaS costs actually come from
Modern PaaS platforms rarely charge a flat fee for real workloads. The base subscription (commonly around $20/month per seat on platforms like Vercel's Pro tier) covers a baseline allowance. Beyond that, cost accumulates through several separate meters:
- Function execution time, billed once you exceed the included compute-hours
- Bandwidth, billed per gigabyte beyond an included allowance
- Build minutes, billed once CI/CD usage exceeds the free tier
Because each of these is metered independently, and because platforms with multiple services (an API, a background worker, an admin panel) often meter each service separately, the total can grow substantially beyond the advertised base price. The exact dollar impact depends heavily on actual traffic and usage patterns, which is why platform pricing pages show ranges and calculators rather than single numbers, and why it's worth running your own workload through a provider's current calculator before comparing costs.
The part the "time cost" argument misses
The usual counterargument is that self-hosting costs engineering hours that managed platforms save. That's true, but it isn't the full comparison. The realistic tradeoff isn't "self-hosting time versus zero time." It's "self-hosting time versus PaaS-debugging time": working around usage-based billing surprises, tuning cold-start latency, hitting platform-specific limitations, or migrating everything when a vendor changes its pricing tiers, as Hetzner itself did in April 2026 with advance notice, and as most providers do periodically without much notice at all.
Setting up a bare VPS still requires configuring a reverse proxy, provisioning SSL, and wiring up container networking by hand, work that a deployment platform like try.direct automates. That's the layer where self-hosting's time cost concentrates, and it's largely a one-time setup cost rather than an ongoing one.
Hidden costs on both sides
Neither model is free of costs that don't show up on the pricing page:
Hidden costs of managed PaaS:
- Per-service metering that doesn't consolidate, so several small services can cost more together than one larger one on the same infrastructure
- Vendor-specific limitations (cold start behavior, execution time caps) that still require engineering workarounds despite the platform being "managed"
- Migration risk when a vendor changes pricing tiers; moving a production workload afterward takes real effort
Hidden costs of self-hosting:
- Initial setup time for reverse proxy, SSL, and container networking, mostly a one-time cost rather than a recurring one
- Backup and monitoring discipline: a self-hosted stack is only as reliable as the backup schedule someone actually maintains
- No default uptime SLA on budget VPS providers (Hetzner, for instance, does not publish a formal SLA or credit-backed compensation for cloud downtime), which matters more for workloads where uptime carries real business or compliance weight
When self-hosting doesn't make sense
Not every workload belongs on infrastructure you manage. A good self-hosting candidate has predictable usage, a clear owner, and a straightforward backup and recovery plan the team actually understands. Compliance-heavy systems, or anything where the operational risk of a mistake is high and the team lacks the experience to catch it early, are usually better left on a managed platform, at least until that experience exists in-house.
The right question isn't "can we self-host this." It's "should we own the operation of this".
FAQ
Is self-hosting actually cheaper than managed cloud hosting? For a comparable spec, published VPS pricing (Hetzner, DigitalOcean) is consistently lower than managed PaaS once usage-based overages are factored in. The gap narrows for highly variable or spiky traffic, where managed autoscaling and included support can offset some of the difference.
Why is Hetzner so much cheaper than DigitalOcean for the same specs? The two providers are positioned differently. Hetzner competes primarily on raw compute price and bundles a large traffic allowance; DigitalOcean's higher price includes a broader managed-service ecosystem (managed databases, App Platform, CDN) and more extensive support documentation.
What's the biggest hidden cost of managed PaaS platforms? Usage-based billing across separate meters, execution time, bandwidth, build minutes, and per-service charges that aren't obvious from the base subscription price.
What's the biggest hidden cost of self-hosting? Operational setup time for tasks that deployment tooling can automate: reverse proxy configuration, SSL certificate renewal, container networking, and ongoing backup scheduling.
Manage your self-hosted Docker Compose stacks the easy way ➞ deploy Dockge on try.direct