Managed Database vs Running Your Own: The Real Math
Every provider in our catalog will happily sell you a managed database at two to four times the price of the equivalent virtual machine. DigitalOcean's cheapest managed PostgreSQL is $15/mo. The Droplet it roughly corresponds to is $6. What the markup buys: automated backups with point-in-time recovery, patching, failover replicas a click away, connection pooling, and someone else holding the pager.
Self-hosting a database is not hard. apt install postgresql and you're running in a minute. Operating one is where the cost hides: backups that actually restore, upgrades across major versions, tuning as data grows, and disk-full monitoring, because a database that runs out of disk does not fail politely. None of it is difficult individually. All of it is the kind of work that's invisible until the night it isn't.
The decision rule we'd actually use: self-host when the data is replaceable (caches, dev environments, hobby projects, anything you can rebuild from a source of truth elsewhere), and pay for managed when the database is the source of truth. The premium is an insurance product, and like all insurance it looks overpriced right up until the claim. A $9-15/mo managed database against even one recovered-from-disaster incident is the cheapest insurance in software.
Two middle paths worth knowing. SQLite has quietly become a legitimate production choice for single-server apps: no server process at all, backups are file copies, and modern tooling (Litestream replication) removes the classic objections. And the serverless PostgreSQL providers (Neon, Supabase's database tier) offer managed durability with free tiers that cover small projects entirely. The catch is usage-based pricing you should model before your app grows into it.
If you self-host anyway: put the database on the same box as a small app (latency is better and the failure domain was already shared), take nightly dumps off-server with restic or pg_dump to object storage, and do one test restore before you trust any of it.
The Tech Stack Wizard at /tech-stack pairs an engine to your app, and provider pages list every managed-database tier we track.