I think people tend to overthink about running your own db.
There is nothing to patch manually. Security updates are handled automatically via "unattended-upgrades" for Ubuntu and when the OP says,
> tiny, almost free, sql database for personal projects
running "mysqldump" on a cron job sounds enough to me.
> with reasonable disaster recovery
You may send that dump file to any S3 based storage anywhere in the world for a decent disaster recovery. (Tools like restic allows automatic data rotation easily.)
Launching an instance (even use "MySQL" app instance cloud providers provide) and installing MySQL with 1 command, write a few lines of shell script to take a daily backup should take at most an hour.
Optionally, install Caddy web server and set up a few lines for PHP fpm or for other languages a single line to reverse proxy for automatic Let's Encrypt and your site is up. I'm sure there are plenty of tutorials on that.
Once things are up, there's nothing to manage. It gives you flexibility with lower price, not to mention gives you the little knowledge you likely want to have down the road.
100% agree !
When did "running your own db" became such a code-smell !?
Sure at the higher of traffic and usage you might want to outsource, but it's stupidly easy to get reasonable performance and security with the defaults or the most basic of configs.
You can actually learn a lot about db's (and become a better user of the db) by actually knowing what some of the configs do as well.
running your own db is not a code smell, it's a productivity smell if you're a one/two person startup - are you so good at running your own db that the people a cloud provider would put on the job would be definitely and probably significantly worse at it than you? If so, keep on with it, if not maybe consider if you can afford to have someone do it for you.
If like the original poster, I want to spend less than 15 dollars a month then I would be forced to run my own DB. If price is predominant you have to do it yourself.
I am not the OP but I setup a fairly expensive server to run my Postgres,redis,and other fire and forget processes. Now, five years later, I have never once had to login to change anything.
And thanks to that I saved thousands of dollars versus what I would have paid for a managed systems of the same performance so I could do all kinds of wild experimental projects that would’ve otherwise been too expensive.
The uptime has been phenomenal. We would have hit 5 years uptime, except briefly the data center caught fire resulting in a few hours of downtime.
>are you so good at running your own db that the people a cloud provider would put on the job would be definitely and probably significantly worse at it than you?
Most of the time, I don't need to be as good or better then the cloud provider. I just need to "be good enough".
There is nothing to patch manually. Security updates are handled automatically via "unattended-upgrades" for Ubuntu and when the OP says,
> tiny, almost free, sql database for personal projects
running "mysqldump" on a cron job sounds enough to me.
> with reasonable disaster recovery
You may send that dump file to any S3 based storage anywhere in the world for a decent disaster recovery. (Tools like restic allows automatic data rotation easily.)
Launching an instance (even use "MySQL" app instance cloud providers provide) and installing MySQL with 1 command, write a few lines of shell script to take a daily backup should take at most an hour.
Optionally, install Caddy web server and set up a few lines for PHP fpm or for other languages a single line to reverse proxy for automatic Let's Encrypt and your site is up. I'm sure there are plenty of tutorials on that.
Once things are up, there's nothing to manage. It gives you flexibility with lower price, not to mention gives you the little knowledge you likely want to have down the road.