Check out PlanetScale [0] (if you use MySQL). Their hobby tier is free and very generous. If you get to the point of needing more, $30/mo isn't bad for what you get. It's way better than Aurora Serverless V1 or V2 which I was super excited for but turned out to not be worth it all. It failed scaling so much that I had to crank it up before an event or it would never find a good "migration point" or whatever they called it. Aurora Serverless' marketing is straight lies and their pricing is opposite of what I think of when I hear "serverless", $45/mo per DB if you want a single instance in V1 or 0.5 of one in V2. At least V1 allowed you to scale to 0, they removed that in V2.
While I agree with you, the answer is that some people don't want to manage the DB. This means patching the OS, patching the database, and making backups (with reasonable disaster recovery). While you could do all of this, many ask, "How much of my time will be spent DevOp'ing (like learning how to do it and then executing)?" If the number of hours is over some threshold, they might prefer to pay someone to do all of that.
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".
Ansible. Every morning I run two commands that are wrappers around "apt-get update" and "apt-get upgrade" that upgrade the entire fleet of servers I manage. They're the same two commands every morning and they're in my bash history. It's really not that hard.
You don't need to do that if you're satisfied with the current version. It rarely breaks but mostly it doesn't give you anything unless you needed the specific new version.
Just keep unattended-upgrades do the important updates without any manual labors.
There's also https://railway.app/ too. I find their free tier incredibly generous and I am using their managed postgres instance for my side projects
(I am not affiliated)
Supabase developer here. Just to clarify, inactivity means "no api calls, no dashboard usage", so your project only gets paused if it's truly inactive for a full week. If you have an application with any sort of usage at all you should not get paused.
The more I've worked with sqlite, the more I've been impressed. Spins up as a file that can be put in source control. Supports SQL - all the basic stuff one might try to pull off with a small MySQL instance. The main gotcha is you get a single, local node. For most personal workloads, it covers the basics really well.
I have a similar desire, I'm considering trying out AWS' RDS Aurora Serverless v2. (ugh, that's a mouthful) Full Postgres/MySQL but extremely quick scale up and down so as long as you have small use, it shouldn't cost a ton.
I'm also super interested in Cloudflare D1, looking to get my hands on it and try it out.
Check out PlanetScale [0] (MySQL). It's free for hobby projects and then a flat $30/mo (+usage if you go over their very high limits). You can run your dev/qa/prod environment all on one "database" using their branches and you also get zero-downtime schema changes which is pretty sweet. I've been very happy with them so far.
I migrated from RDS Aurora Serverless V1 after being frustrated with the high prices (V2 is even worse) and the annoyance of sleeping DBs (for my dev/qa environments, I couldn't afford $45x3/mo). Now I get all 3 for only $30/mo and safe/easy schema migrations. It's been a joy to work with and their support has been very responsive. This week is a "launch week" for them so you'll probably see a few posts about it this week and I encourage you check them out if you are looking for scalable managed MySQL DBs.
V2 is a garbage fire and that was before I knew it didn't scale to zero.
It doubles the cost of V1 and they have the gall to say:
> most Aurora Serverless customers can lower costs by moving to v2 due to a lower starting capacity of 0.5 ACU (vs. 1 ACU in v1)
Oh, why thank you AWS, how kind of you. I can go to 0.5? That doesn't matter at all, the price is the save as 1 ACU on V1.
D1 is interesting but if you want Serverless MySQL then check out PlanetScale [0]. It's free for hobby projects (it will turn off if you go 1 week with no activity) and then it's a flat $30/mo and you can have 2 production branches and 5 development branches. I've been very happy with them so far. The usage-based pricing is a little scary (I know I don't think in rows read/written) but the limits are super high and so far my usage has been barely a blip.
Probably not super popular, but last I checked (a couple months ago), Oracle Cloud will give you up to 2 free Oracle Autonomous (managed) SQL databases and I think if you work the free storage / virtual CPUs right, up to 4 virtual servers that you can put other unmanaged dbs on with their free tier.
Why not just host it on a Raspberry Pi? May as well host the entire project on it. If your Internet provider doesn't let external clients directly access your connection, tunnel it through the cheapest VPS you can find. Or just host the whole thing on said cheap VPS.
Lots of answers below but no one has yet asked what you want the db to do? Know nowing your specific needs will make it easier to give meaningful recommendations.
Their support has always been best in class. Extremely responsive and always helpful. It's one of the reasons we decided to stick with them after the security incidents. The support was good enough to outweigh those concerns.
Used Linode for years on several instances without a problem, very good support and reliable but trying to move out for a very small problem that their server backups can't handle any non default filesystems, as in, if I use zfs, their instance backup won't take backup of those because they do backup on a filesystem level and not on block device level and a fact that Vultr supports HDD block storage which seems to be a unique option among others to lower the cost of local disk access significantly.
Everytime I see it posted, I am linked to vultr[1] and Upcloud[2]. Hetzner[3] and OVHCloud[4] are slightly different market segments, but comparable. Worth noting is Amazon Lightsail[5], which is ec2-but-different.
I’ve had years of experience with OVH. I would never choose them for a new project. Their product is acceptable , but the customer support people are jerks. Consistently, for years. I can provide very specific examples if you want.
EDIT: also have years of experience with Linode, Vultr, DigitalOcean, and even Upcloud (Spanish company as I recall).
I left linode almost a decade ago specifically because Chris at linode was an utter dick in in their irc channel, but their other support staff is usually pretty cool.
I use Vultr for a hobby project, I have two servers: one with an IP address for $5, one without for $3.50. I use the first server as a proxy to the second, saving $1.50 a month.
They have storage box, which allows for SFTP and other more familiar and easier to use protocols than S3 and very cheap except they only provide European region.
Their cloud servers are very cheap (like half the cost of other low cost competitors) but again, very limited regional presence outside Europe. At least they added US region lately.
Storage box is pretty good, however its not a s redundant as most other object storage providers.
Its basically protect by one single raid cluster.
I'm really looking forwards to Mega's S4 offering, it very compatitvely priced and is encrypted, and it looks like of have the same kind of data protection as normal mega services.
Any guess why Hetzner Cloud isn't visibly moving towards offering more managed services in general (the kind of stuff Digital Ocean offers, like databases, Kubernetes etc.)?
Their key business is dedicated servers, even their Cloud is IO limited (1-2K on 4K) in ways that will force any growing business on their cloud to move to dedicated eventually (Even their "dedicated CPU" instances have a cap of 5K IOPS).
I wanted to like Vultr, but had reliability issues from day one, even while running nothing but a basic Nginx instance. And instead of the support staff acknowledging the issues or offering any solutions (or even reading my emails, frankly), they rather aggressively told me they don't see an issue, and even if there is an issue that I would need to fix it myself -- completely disregarding the visible evidence that it was at the networking layer.
It was one of the most infuriating exchanges I've had with support staff from any company. If there was any redeeming factor, it's that the COO sent a long email apologizing for the CSR's behavior. But when all was said and done, the VPS was still inaccessible a dozen or more times per day, and an apology from an executive doesn't change that.
To me Vultr had a network problem in a specific region (Silicon Valley) in the past intermittently but not recently. I never had any problems in Tokyo region.
One unique thing about Vultr is that they provide HDD block storage which is way cheaper than SSD one which seems to be the only option for any other clouds. If you need a large disk like for backups, Vultr is pretty attractive.
Using Vultr for about 5 years now, and I agree that they indeed had some problems with networking, but they had them resolved fairly quickly. No issues whatsoever on the past 2 years.
Up until recently, I had free block storage and snapshots from them, plus a bunch of credits for discovering some security vulnerabilities in their web site. Pretty good value even at today's pricing.
We stumbled upon UpCloud last year and have been using them for a few production workloads in their Seattle, WA facility. They have the simplest offering of all the various "second-tier" cloud providers--which is something we appreciate because sometimes all you want is a compute resource. For what we pay, the CPUs feel much faster than Linode and Digital Ocean which are often faster than AWS and GCP for similar price points. The evidence is anecdotal but we have noticed that all the jobs we run on UpCloud finish noticeably faster than the other cloud providers.
anecdotally of course, I’ve really enjoyed working with vultr the last few years. Great performance, and their services are simple and well thought through.
It’s perhaps a little too easy to bump into their initial account spending limits, but that’s about the only nit I can pick. It’s probably pretty tiresome fighting fraud on a VPS platform.
+100 for Aiven on managed databases. We moved from AWS Aurora (MySQL) to Aiven years ago because wanted to be on MySQL 8.x (unavailable on AWS at the time). We've been running a 3-node HA cluster using Aiven's control plane with peering int our VPC and it's been solid since 2019--including with auto-failover for MySQL patches that are applied from time to time during the scheduled maintenance window.
One I only recently heard of through HN is Contabo. 8GB Ram for 5 EUR/mo. I've not used them, but given I pay $6 to DO for 1GB to run a single Mongo instance, I may give them a go.
Credit where its due though, DO have a great UI for resource visualiation and firewall rules which is what's currently keeping me from moving.
Been wondering how much uptime you get with "these" managed databases? Currently running similar service on Digital Ocean and unsure if extra database nodes are necessary (2 failover nodes increases cost significantly).
I think they’re just using their standard nodes running a managed db on there, so look at their prices and specs for the standard linodes and you’ll get close. That is how they do k8s cluster pricing, they just add the nodes up cost wise then add a premium for the managed service.
Were you looking at dedicated CPU or shared CPU? I made that mistake when i first looked and was shocked at how much more it was than DO, but after noticing that it seems like the same price.
Weird how this is your impression. Maybe people tend to over allocate their instances? I've been super careful to choose exactly what I need for my application. My GCP Cloud Postgres instance is the second smallest (1 vcpu, 1.7gb, 15gb).
I'm 24/7 doing 300 tran/s with ~20% cpu utilization and it only costs $27.34 a month. I just upgraded to Postgres 14 (from 13) with a click of a button and a few seconds of switchover downtime. Seems more than worth the price.
Interesting, doesn't seem high to me given that this is the backend to GCP functions which are a sustained ~25 rps, but maybe I'm missing an index or something. It is mostly update writes though, so maybe that is part of it.
#1 query is: `insert into on conflict do update` (based on id column).
Not trolling, I genuinely think it's a lot of money for a simple database though. Maybe yours isn't, but I don't know any provider that charges less than 300 for a hosted db.
no database is 'simple'. it really depends on the use case, doesn't it?
"going a long way" on sqlite would have really end up biting me in the ass as soon as my app needed to scale beyond it. now i've written a bunch of sqlite specific queries (ex: show me all the rows that were modified over 10 minutes ago) that i'd need to spend time migrating and testing on another database.
in my case, i had no idea what the actual load on my database was going to be. i knew i'd be sending it a constant stream of traffic and the traffic would grow over time, but until i did that, there was no (easy) way to load test it.
i started with the $7/mo option and when i grew out of that, a couple clicks later i was onto the $13/mo option. unloading the points i outlined above from my concerns allowed me to focus on building features instead of infrastructure.
it is all about perspective and approaching things in a way that is logical, not thinking in terms of the latest HN headlines. this app is the backend for something generating many millions of dollars a year in revenue. $300/mo is nothing in the grand scheme of things.
Let's say you have a hobby or open source website that requires a database backend and isn't making money. $300 / year is quite expensive all of a sudden.
Indeed and that is why there are plenty of options for free tiers. I even started off with the $84/yr option, which isn't too bad.
I've lost the point of your message though. Your original response suggested a RPI... which is about $35 just for the base hardware and it doesn't do nearly what I outlined above.
Anyone having experience with contabo.com? I've got a couple of VPS there and so far pretty happy but didn't yet have any more involved interaction with the team or support to fully judge. No managed DBs but object storage as well.
Excited to check this out. I'm a long time Linode user and recently came across some projects that could leverage a managed DB. As always, I find the prices competitive – especially compared to AWS which I was starting to look at again for this component, but now I can try it out here instead.
"Years" is quite a stretch. On December 30, 2019, they announced[1] bare metal servers as being part of their roadmap for 2020, and then on June 16, 2021 they announced the beta was "upcoming." Given the necessity of on-site labor to launch a bare metal service, I think it's perfectly reasonable for it take more than a year in the midst of a pandemic.
That isn't helping your exaggerated claim. 1.6 is not a multiple of one, making it quite literally not multiple years. You have two apples. You cut one and give half away. How many do you have? One apple, and one half of an apple. You no longer have multiple apples.
Also, the page you're linking to has a gigantic "coming soon" banner at the top, which would indicate it's not actually available. Its call to action is not to purchase a bare metal server, but instead a link to register for their Green Light program, which lists the bare metal beta as "upcoming."
So, no, the beta hasn't been available for years, you're still ignoring that whole "on-site labor in the middle of a pandemic" thing, and I can't imagine why you felt like an attempt at publicly shaming them twice was necessary.
I was a fan of Digital Ocean when it first appeared, then it turned into a VC company trying to recreate half of AWS badly, and I slowly warmed up to Linode. I've used both professionally, and I still think while Linode has fewer fancy features you know you're dealing with a company of engineers, a sentiment I really can't feel anymore when I log on my DO dashboard.
To be fair, I'm evaluating Hetzner now, because I just want affordable and performant virtual machines, while Linode are moving their focus to managed services because they're more profitable and are a great way to lock in their customers. Linode is no longer competitive if you just need to rent VPSes.
well i went back and skimmed their incidents. I mean, yeah those incidents suck, there's really no way around it.
My day job has changed a lot since 2013. Could I, in clear conscious, recommend Linode to a client today? I would need to know each incident in detail and how they've changed and be convinced the past is staying in the past. My setup has always been there when i needed it and support has always been responsive and that goes a long ways. However, we all know a secure environment is at the top of the list.
Crunchy Data is all things Postgres. The managed service is called Crunchy Bridge and is built by former Heroku and Citus folks. Runs on AWS, GCP, and Azure: https://www.crunchydata.com/products/crunchy-bridge
All of the links and suggestions I got were basically "we run postgres for you on any platform you choose", which is essentially just reselling these platforms that I already have managed postgres on. Perhaps these businesses arent for me, or maybe im the wrong market segment, but I cant understand what value is delivered by adding more stuff between me and the thing I already have, when my gripe is the platform managing that thing to begin with.
I want to get away from digitalocean because theyre trying to do too much in too many disparate spaces, which is a feeling I hold the same for -all- of the other platforms, GCP, AWS, etc. What I guess I was assuming would exist would be a service with their own concerns, their own staff, end to end hosting some managed clusters on their own hardware.
When something breaks, I dont ever want to hear about an upstream provider unless it is an ISP or Colo, and nor should I. I want the world of service providers to take ownership of their entire stack, possibly that is not realistic in 2022.
As Im typing this, Im realizing, I need to just get my own colo cage and rack up my own hardware. Its frustrating as ever to come to this realization. I essentially want a patch monkey with a penchant for backups and resource monitoring. I dont care about elastic someshits, I dont care about cute terms for pricing units like dynos, I absolutely dont want to call for pricing (scylla, this is on you).
Its hard not to think im just completely wrong when the way i think things should be is the complete opposite of the way things are. This comment has been both cathartic and revealing.
The cheapest option here is $15 a month, and similar prices for other cloud managed dbs.
Heroku was nice and I guess is still a good option, but hard to make a usable site on their free tier because of start up time.
Then there's the interesting new option from Cloudflare, D1.
Currently I just run my personal project on AWS lambda + dynamodb. It's free, but using dynamodb for relational data is a little awkward.