5 ms·
Just yesterday I was comparing managed serverless postgres offers and was sad to temporarily end my investigation with a compromise of using managed aws RDS for
by ranguna 4y ago
Just yesterday I was comparing managed serverless postgres offers and was sad to temporarily end my investigation with a compromise of using managed aws RDS for development, hoping that a fully serverless postgres with a nice free tier would pop up before going to production, and here we are!
Congrats to the team for what feels like an amazing product. Signed up for the early access, can't wait to get my hands on this!
For anyone interested, these ere the DB offers I looked into:
* DO managed postgres, no free tier but price scaling was not too aggressive, the issue is that it's not natively serverless and we're gonna get 100s of ephemeral connections.
* Cockroach, was the best option for our use case but it doesn't support triggers and stored procedures, so we can't use it right now (closely following https://github.com/cockroachdb/cockroach/issues/28296 https://github.com/cockroachdb/cockroach/issues/28296)
* Fly.io price scaling is too aggressive 6$ -> 33 -> 154 -> 1000s a month and no free tier that I could find.
* Aurora serverless v2 is only for aws internal access and we are using gcp.
* Aurora v1 was what we were gonna go with, but a lot of people online have showed their negative opinion around slow scaling. I didn't investigate enough but I'm thinking we'd need to setup RDS proxy for it handle all our connections, which would've bumped up the price by a good amount. Also no free tier.
* Alloydb looked promising but also no free tier and starting price is a bit much for our current phase of development, but it was definitely something we'd look into in the future.
And now Neon, natively serverless with a (hopefully) good free tier to test things out and some hints about cross region data replication, amazing stuff!
- lysecret 4y ago"Aurora serverless v2 is only for aws internal access and we are using gcp." You can have public access to serverless v2. I'm using it with retool for example. That said I moved a Postgres DB to Aurora, the process was hilarious in how crazy it was. Also they haven't implemented scaling to 0 yet!!!! And the minimum 0.5 Compute unites are actually pretty expensive.
- ranguna 4y agoNice point about the minimum 0.5 ACU, forgot about that one. From what I've read 0.5 on v2 is the same price as 1 on v1, which seems pretty dumb coming from aws. Could you elaborate more on this: > You can have public access to serverless v2 Because the docs mention the following: > You can’t give an Aurora Serverless DB cluster a public IP address; you can only access it from within a VPC based on the Amazon VPC service. Potentially I could setup an RDS proxy or vpn inside the vpc and give that public access, but that seems a bit of a roundabout way of handling this. https://aws.amazon.com/blogs/database/best-practices-for-working-with-amazon-aurora-serverless/ https://aws.amazon.com/blogs/database/best-practices-for-wor...
- lysecret 4y agoI can 100% confirm public access works :)
- ranguna 4y agoCould you elaborate on how you got it to work without a public IP?
- lysecret 4y agoIts a completely crazy process but it works roughly like this: (going from RDS Postgres on 12.6 to Aurora Serverless V2) 1. You create a snapshot of your original db 2. You update that snapshot to 13.4 (NOT 13.6!!) 3. You have to use the AWS CLI (because the online migrate doesn't work) to create a cluster from the snapshot 4. Remember this cluster is 13.4, serverless only works with 13.6, so we have to upgrade it later again 5. However we can only upgrade it when there is a running system 6. so we create a non-serverless aurora instance. Most instance types returned an error but using t3.medium worked, you can create that with public access. 7. when they are both created you can already try to ping your DB (it should work) 8. upgrade to 13.6 9. Now you are able to change the DB instance type to serverless Edit: BTW I am available for hire as an external contractor for this kind of stuff ;)
- sitkack 4y agoCurious why a free tier is so important? I think a FT encourages bad behaviors on both sides. I don't think pricing should be linear at all. But even for development, one is using resources, but most of the time they can be minuscule for individual devs. Aside from production reliability, Postgres is one of the easiest things to get running on a VM and runs fine on a 5$ a month instance.
- ranguna 4y agoFree tier, like all things, is pretty bad if misused. The reason we want a free tier is to try things out before we can actually commit to something. We don't know if what we are doing is actually gonna make money and sometimes we go a few months without working on it. So it's kind of a pain to pay for something we don't use. That's why serverless is also nice to have on our current stage, things can just scale to 0 and there's no wasting of resource. > running on a VM and runs fine on a 5$ a month instance Easier said than done, unfortunately.
- rad_gruchalski 4y agoIf CockroachDB was fitting your use case the best, you should have a look at YugabyteDB. It does triggers, stored procedures, extensions, almost everything. Some alter table features aren’t working yet but it’s getting there. Not associated with the company but a very happy user. Bonus point: YugabyteDB is full Apache 2-licensed so you can roll your own.
- ranguna 4y agoJust took a look and it seems pretty nice! But found their pricing page (which was very hard to find other than the generic "contact sales" page) and it seems the starting price is 360 USD/month, that's not something we're comfortable with right now. USD 0.25/vCPU/hour, minimum 2 vCPU = 0.25*2*24*30 = 360 https://www.yugabyte.com/yugabytedb-managed-standard-price-list/ https://www.yugabyte.com/yugabytedb-managed-standard-price-l...
- spiffytech 4y ago> Fly.io price scaling is too aggressive 6$ -> 33 -> 154 -> 1000s a month and no free tier that I could find. Fly has a general purpose free tier of 3 of their smallest instances. You can use that to run their 2-node Postgres cluster plus an app server. The pricing you pulled is examples of various compute + storage configurations, not the exhaustive list of options. It should look like $4 (or free tier) -> $11 -> $21 -> $62 -> $82 ... + storage, since it's just 2x their VM price (for the two nodes) + any storage above free tier.
- nwienert 4y agoLast I used them (last year) their postgres offering, even scaled up to larger nodes, was significantly slower than the cheapest DO offering. I filed a few issues but haven’t checked back since.
- ranguna 4y agoAh nice! So the prices I mentioned where just example configuration. That's pretty cool then, specially with that free tier. Will put fly.io back on the list and do some benchmarking in the future. Thanks a lot!
- jvolkman 4y agoAlloyDB is free during its preview phase (not sure how long that is). https://cloud.google.com/alloydb/pricing#fair-usage-limits https://cloud.google.com/alloydb/pricing#fair-usage-limits
- ranguna 4y agoRead gcp's policy and they say preview periods can last around 6 months, and I'm not sure when alloydb preview started. But even if there's a free period, it'd be complicated to develop stuff around the DB for free, just to turn into 100s of dollars after 6 months, that's not something we want to see happening. So an indefinite free tier with limited resources would be better. Like aws lambda 1M or firebase function 2M request free tier.
- rattray 4y agoDid you look at Crunchy Bridge? Not sure if they support that use case.
- ranguna 4y agoTook a look just now and they start at 35/month. They have some nice points around support, backup and disaster recovery. But if that's the starting point, I'd prefer something like digitalocean that has a similar product offer starting at 15$. Thanks for the tip though!