Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Open and portable Postgres-as-a-service. Also available on Hetzner (ubicloud.com)
224 points by padmanabhank on Dec 14, 2023 | hide | past | favorite | 107 comments


> for the first time, we are making the control plane for a managed PostgreSQL solution open, using the Elastic v2 license for it.

Interesting play on words to only call this “open”, heavily implying that it’s open source (by pointing at “closed source” competition) when in fact Elastic v2 is not open source. Hard pass.


I get the frustration with the clever word play, but given the ungodly size of the major cloud providers, licenses like this are necessary for any business offering a hosted version of an open (source) project. I’d rather see the COSS business model succeed with non OSI approved licenses than be replaced by black box cloud-only services.


> licenses like this are necessary for any business offering a hosted version

That’s the argument you hear every time there’s a re-license of what used to be “open source software”, and it may very well be true, but I don’t really care. I care about open source software and I’d rather see half-baked tools that are open source than shiny, fully featured tools that restrict the users and use the “open” terminology to gain traction only as long as it suits their own interests.


Hi there, I'm one of Ubicloud's founders.

I agree with you on the sentiment about starting with a liberal license and then re-licensing once you gain enough adoption. We think it's only fair to our users that any re-licensing should go in the other direction.

I also had a clarification question, just to better understand. Which part of the Elastic V2 license do you find the most restrictive? (PS: We don't have license keys in Ubicloud. So, only directly competing against our managed service should apply.)


This looks great!

Some questions:

“ Select from 2 to 32 vCPUs; 8 GB - 64 GB RAM; 128 GB - 1 TB disk” how easy or fiddly is it for the end user to change specs? Are we responsible for migration?

Also, we can have as many databases as we want on our instance? Or just one?

Reiterating jpg’s question, does it have pgvector support?

What are your recommendations for connecting it to file store and/or blob store?

Do you have any support for backups?

Perhaps there is documention I missed, I read also the product and pricing pages.


Thank you! Quick notes: - Resizing instances after provisioning is a manual operation for now. We'd use the same backup machinery that exists to automate it; until then you could do it manually or we're happy to help through a support request.

- Yes, you can create multiple databases per instance.

- We don't support pgvector yet; initial extensions we have are those in contrib, with more to come.

- Going through a VM to fetch the data from/send data to file store is the most common

- We take backups automatically, with point-in-time-recovery available to the minute. We also allow you to "fork" a database using a similar approach: i.e. your database remains intact; you just add a new database to it from a past point in time (typically useful for dev, test and/or analytics)


Thank you, where is pricing and details about block storage, another offering you list in your docs?

https://www.ubicloud.com/docs


Please include PostGIS


Looks great! How do PG extensions work with this? For example PostGIS, pgvector, and pg_jsonschema?


They are cool features but I wonder what percentage of customers are likely to require extensions?


Or timescaledb, especially interesting due to their licensing setup


Hi, Ubicloud employee here. PostGIS and pgvector are two of the most requested extensions so far. We will add them in 2-3 months.


That is great news. I intend to add support for this to https://mitta.ai.


This was my first thought as well.


This looks promising, will be excited to see more regions coming in, especially US-east!


(sorry, new to all this)

Are these regions AWS regions? Does that mean you don't pay egress fees between your EC2 instance (or whatever) and the database? Does it mean that the latency is very low?


Hetzner has two locations in the US these days: Ashburn, Virginia, and Hillsboro, Oregon.


(author of the post here)

Thank you, and yes, we will be in the US in the next few months.


I can't believe it took this long for someone to offer open core, cross vendor cloud deployments.

I feel like this is going to take off, especially if you're targeting Hetzner.

With regards to the latter, have you guys thought about a cross vendor object storage offering? It's the #1 most requested service on Hetzner and they have repeadetly mentioned that they do not want to venture into this space. Feels like a low hanging fruit to take at this point.

Are you guys open for CV submissions? I'm a student from Germany and would love to intern / work for you guys and be a part of this. I've worked with OpenStack previously (though as an end user, not an admin) , which offers some AWS failover capabilities, but nothing truly like this.


Yes, exactly, our object store is in the works.

And thank you, we are hiring. Could you send your CV to imagine at ubicloud dot com?


I’d be curious to talk with you more about this, and suggest some interesting new workflows.

Object storage targets web developers, etc, but enabling certain machine learning patterns could be transformative.


Happy to hear your suggestions, of course, will ping you through your HN profile


Doesn’t that immediately raise your aws spendings as your outbound traffic will increase by a big margin which is very costly?


This is indeed an angle of AWS lock-in that people often underappreciate, and possibly a main reason for their extortionate external traffic costs?


If you keep the rest of your cloud architecture on AWS, possibly. Consider if you were primarily using RDS but otherwise had a hybrid on-prem compute estate, you'd already be paying RDS egress which you'd eliminate. Its interesting what HN startup-minded AWS centric people's thinking is, and while common, there are other viewpoints.


This looks amazing, well done. The pricing is very reasonable. (1) Seriously considering switching to this from my homebrew setup.

Extension support (pg vector) would be great.

(1) Looking at https://www.ubicloud.com/docs/about/pricing but your pricing on the landing page is almost 3 times higher https://www.ubicloud.com/use-cases/postgresql


That’s great to hear, thank you! Please feel free to email us if you have questions. For pricing, the first link is for VMs, and the second is for managed database instances, which also have 5x more disk. You’re right in that we should aggregate and better present our pricing.


The first link is for the VM pricing. standard-2 backed managed PostgreSQL instance is $65/month, which is still 3x more cost effective than similar products.


nice. big diff seems to be cost. Could be useful for analytics workloads, i.e. read replicas.

https://www.ubicloud.com/docs/managed-postgresql/price-perfo...

Would be nice to see copy-and-paste instructions for setting up read replicas from RDS etc.


Does it have point in time restore? The ability to pause and go unbilled? (other than storage) Easy resizing? etc

Not being snarky, but RDS is more than just a server app with a decent UI. It has specific advantages over just standing up a VPS and running apt install.


They seem to do PITR [1], not sure about other features. The docs and particularly the Postgres section of it seem very thin.

1: https://www.ubicloud.com/docs/managed-postgresql/backup-and-...


Yes, ack on both. We already do point-in-time-restore your database with 1-minute granularity. And the docs are thin currently; we will add more to them.

We're using the same core control plane approach that still powers multiple PostgreSQL services like Heroku Postgres, Citus/Azure Cosmos DB for PostgreSQL and Crunchy Bridge. Ubicloud is being built by core members of the same teams that built those products, improved with learnings. We are yet in preview and not as feature complete, but we will continue adding more features, building them in the open.


We also have a talk that one of our core team members gave earlier today at PGConf.EU that goes through some of the inner workings of our managed service. Its video is not posted yet given it's been just several hours, but should be available here once ready:

https://www.postgresql.eu/events/pgconfeu2023/schedule/sessi...


Heh, a week ago I was wondering why ubicloud was a plat sponsor at pgconfeu. Makes sense now


Tangentially related, does anyone know why people (customer service people) at Hetzner are so...aggressive? A lot of reports on Hetzner sub are filled with screenshots of absurd over the top 'screw you'-esque responses.


You're one of today's lucky 10000 to learn about German customer service. They are arrogant, rude, useless, and expensive. There is no plot twist or hidden joke, it is what it is.


Could you please stop posting unsubstantive comments and flamebait? You've unfortunately been doing it repeatedly. It's not what this site is for, and destroys what it is for.

If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.


Just to act the devils advocate here, what some perceive as “rudeness” can also by some people (like me) be interpreted as being straight to the point.

Most customer support interactions I’ve had with German companies have been terse, but so far it’s never been inefficient. My last support interaction with Hetzner was something like (paraphrasing):

> Can you please open port 25 for outgoing traffic on my servers? Thank you

> Thank you for your request. It’s already open. It might be misconfigured. Please check your firewall rules. [link to docs]

So yeah, no “have a nice day”, no “please let us know if there’s anything more we can do”, but honestly I don’t want any of that stuff. It makes the interaction feel less honest and real, and I don’t expect everyone I interact with to (act like they) love their job, I just expect them to do their job. Maybe that’s the German mentality?


Some people seem to think that ruthless efficiency in communication is a bad thing ?


Ruthless efficiency in communication doesn't sound so nice anymore in case e.g. when service provider tricked you into 2 years contract with 3 months notice period, or when they straight out lied to you at some point.


I hope this email finds you well


32kb of data leaving your service infringes our copyrights, you have 7 days to fill this self-incriminating form and pay EUR 800. Mit freundlichen Grüßen.


My life is too short and beautiful to overanalyse their behavior and guess what can sit inside their brains. Easier to migrate away and cut them off.


I actually thought of building this same idea but on OVH infrastructure.


Looks great. It would be useful to have a wiki page about the Elastic V2 license. e.g https://www.elastic.co/licensing/elastic-license/faq FYI the first link to your license is broken on this page: https://www.ubicloud.com/docs/about/terms-of-service


Thank you, fixed the broken link!


Anyone know of something like this that's self hosted?


Can recommend the cnpg project https://github.com/cloudnative-pg/cloudnative-pg

It's a kubernetes operator for postgres with a pretty good range of features

Honestly I wish something of this standard existed for mysql - I'd never use RDS again by choice.


Self hosted postgres? Yeah, that's been around forever.


I am building a self-hosted infrastructure as a service product right now. We are approaching a private beta, so there hasn't been a big announcement yet (We'll post here for sure).

Highlights:

- Your data and web services only touch open-source - Running top of Kubernetes - Postgres - Redis - Serverless PaaS - Self-host Oauth single sign-on - Mesh Networking/Security - Built-in operational tools - Machine Learning tools - Monitoring

https://www.batteriesincl.com/

If anyone wants a demo of the alpha state, my email is elliott@ batteriesincl.com.


If you are on k8s, the Zalando operator is an excellent choice: https://github.com/zalando/postgres-operator


It's a slightly different use case, but https://neon.tech may interest you and is actually Open Source (Apache 2) https://github.com/neondatabase/neon/blob/main/LICENSE


Note that the orchestration layer of Neon isn't[1] open source:

https://github.com/neondatabase/helm-charts/issues/35

https://news.ycombinator.com/item?id=31540691

[1]: or at least wasn't, I haven't kept up


This one looks great too. How hard is it to setup this for self hosting?



This is, as well as Postgres.


Ubicloud seems very cool, but I wonder what the long term plan for volumes is. Without network attached storage (EBS), running stateful services is tricky.


I work at Ubicloud.

The general plan is: write a SPDK module. We spent some of the last year getting used to using SPDK, for cryptography and workaday disk access, and the first copy-on-access custom bdev (a unit of abstraction in SPDK) is working its way into production now.

https://github.com/ubicloud/bdev_ubi

This copy-on-access happens to use files as the input, but sometime after that, it will be usable for demand-paging images hosted via HTTPS as well.

Some of those code paths will likely learn flavor(s) of replication after that.


Right now, we have an early block store (EBS) that is non-replicated, and that we are testing and using internally. Over time, we will expose it as a service as well. But object store (S3) will come first.


How does pricing compare with digitalocean postgres?


hey! ubicloud employee here. If I configure DO cluster to have the same specs as our smallest instance; 1. Dedicated 2vcpu 2. 128 GB storage 3. Frankfurt region

The price comparison lands us to 2x cheaper than DO. They cost 130 USD. Ubicloud is 65.


Thanks!


DO Postgres has no superuser, which is very annoying, extensions are old, their user requests website is abandoned, and they don't seem to care.


I stopped using DO App Services for Node when their Node version fell far behind LTS to the point that my dependencies stopped working. I migrated to Heroku.


Can you elaborate on how is it portable? Can I move a deployment in between cloud providers as an example?


Hey ubicloud!

Does it have zero downtime upgrades and HA?

We are currently self hosting postgres simply. But missing HA and zero downtime upgrades.

Thanks!


RDS doesn't have zero downtime updates from what I know - they update & failover so there is a brief outage (1-2 min).


In my experience it is less that 1 minute but may not be zero downtime...


Is that true for major and minor Pg versions? Last I checked it's only true for patch versions, OS updates, and instance size changes -- at least with multi-AZ. Perhaps it works for RDS clustering or Aurora?

Also wouldn't recommend the new blue-green switch over yet. It fails safe yet when it goes sideways it can take a while to clean up.


yeah, you're right, major versions are a pita...


Hey! Ubicloud employee here. We currently support PG 16. HA will be available very soon. We will also have upgrades enabled by the time PG 17 comes :)


Awesome. We are looking forward to that. These are some of the more challenging parts when self-hosting pg.


Hey @kosolam! Absolutely, we're excited about these developments too. It’s a team effort here at Ubicloud, and we're fortunate to have experienced folks from Heroku PG, Citusdata, Crunchy Bridge, and Azure CosmosDB for PostgreSQL. We all have firsthand experience with the challenges of self-hosting PG, and we're committed to making these features as user-friendly and robust as possible. Looking forward to bringing you HA and smooth upgrades soon!


Wow never heard of this. The announcement of a free self-hosted manageable postgres option is pretty cool. But even cooler is finding out a team is working on a better version of OpenStack that's not a nightmare to deploy.


Not sure what "open" means here, because it does not mean open source.


It means that our source code is open and transparent to all of our users. You can use it for free, modify it, or even re-distribute it - the main restriction is that you are not offering it as a managed service to third parties.

If you have a particular use-case in mind that you need but feel is limited, please let us know. Happy to talk through it and see how we can help.


I'm not really a prospective big user of this category; but i think your project looks super cool and you obviously know your stuff engineering-wise.

I think the use of no-hosting clause is super ambiguous here because the nature of the project itself is hosting and providing managed services of VMs, postgres etc for users - so anyone using ubicloud is in some sense providing a managed or hosted service.

How about licensing under GPL or AGPL with a commercial license option? Corporations are so GPL-phobic that they would probably pay you for a commercial license.


Because, although they speak against AWS outrageous margins, they want a monopoly to secure high margins as well.

If they open sourced, they'd need to compete against copy cats.

This is understandable. They need to protect themselves and maybe become profitable.

I would just prefer they didn't pretend to be so much different from AWS, Azure or GCP. This isn't open. The source is publicized, but not open. They discriminate, which goes against the essence of the open source principle.


Ah, I see. The key part above is "to third parties". If you're using ubicloud to provide a managed/hosted service for yourself, or your company, that's wonderful. You could even be a massive organization and do that. It's just that you are not providing the managed service to other parties such as your customers - essentially, that you're not a hosting provider re-selling the software.


The ambiguity is in who is a third party. If I am a small digital agency and I have a hetzner server with ubicloud and I use it to host my clients websites, e.g 10 small businesses pay me $200/m each to host their wordpress websites, are they third parties? Can I do this?


This, with virtual certainty, permitted. I am a founder of Ubicloud, so, I suppose you can take that to the bank.

For guidelines, see:

https://www.elastic.co/licensing/elastic-license/faq

Text:

I'm using Elasticsearch to put a search box on my cat-picture SaaS product.

This is permitted under ELv2. Meow!

I'm a contractor setting up Elasticsearch and Kibana for my clients to use internally.

This is permitted under ELv2, because you are not providing the software as a managed service.

My cat-picture SaaS product shows view-only Kibana dashboards of analytics on searches and views.

This is permitted under ELv2. The use of Kibana in this case is limited and this does not represent access to a substantial portion of the functionality of Kibana.

I am a Managed Service Provider (MSP) running Elasticsearch and Kibana for my customers.

If your customers do not access Elasticsearch and Kibana, this is permitted under ELv2. If your customers do have access to substantial portions of the functionality of either Elasticsearch and Kibana as part of your service, this may not be permitted.

I provide Elasticsearch and Kibana as a service, where my customers have direct access to substantial portions of the Elasticsearch APIs and Kibana UI.

This use is not permitted under the ELv2. Please reach out to us to discuss your options.

If you have questions about your specific scenario, please reach out to us at elastic_license@elastic.co.


If you don't intend to open source, why not use a term that doesn't mislead prospective users into thinking it's open source?

I'm not saying your intention is to mislead, but it's at least confusing and will almost surely mislead some.

Why not use "visible code", or "transparent code", whatever...


You are thinking of free (as in freedom) AND open-source (FOSS). Most people define open-source as just the source being open/public.


No, most people define "open source" as it is defined by the Open Source Institute.

That is probably why this project was careful to define itself as "Open" and did not use the term "open source". It is licensed under Elastic v2 which is generally known as a "source available" license

I don't see any problem with this as long as it is not advertised as open source, which it is not. Of course they are entirely within their rights to license their code as they see fit. I like to use open source software but I absolutely prefer source-available software over closed source solutions like their competitors (AWS, Azure, and GCP)

This is a good reminder to check the license before you adopt something. Just because the code is on Github, doesn't mean you can do anything with it.


You're certainly entitled to define it that way or anyway you want. Just be wary a lot don't share your definition, so using a more explicit and accurate term like FOSS is probablyyy better.


The settled-upon term is "source available".


Also changing anything related to keys


The source is available (https://github.com/ubicloud/ubicloud) and the license says it's free to use so long as you don't use it to run a hosted service. It looks fairly 'open'?


Are u saying the code linked isn’t from the thing itself?


I'm saying that code linked is not open source licensed


It.. is?



Open source does not mean "I can read the source code". Open source means release under an open source license and this is not the case here.


But as you said yourself the claim isn't 'open source', it's 'open', so...what do you want really?

I understand this complaint (I get both sides really) when it's a non OSI licence being called 'open source', but you can't just start extending that to the single words 'open' and 'source' too. 'I don't know what "source available" means, because it certainly doesn't mean available under open source licence', etc.


Haven't heard about them. It looks great! Does anyone have experience with this and CapRover and is able to compare?


Congratulations on the launch Umur! Looks really great :)


Will compute and db have a hobby tier?


Hi, Ubicloud employee here. Eventually yes, but we don't have a timeline for it yet.


Tofu/terraform provider?


yet another vendor pricing based on storage. I think I need to cofound a non profit for this


Hey, Ubicloud employee here. We are planning to decouple storage and compute, so that you can independently change either. Currently they are coupled because we are trying to ensure all our hardware is used in balance. But we are making some changes to handle imbalances more gracefully, which will enable us to decouple compute and storage.


I wish you had a smaller starting size...


do you mean you need to up the cores and memory to get more storage?


no I meant that I cannot just pay for storage. I have to scale up to the highest tier. e.g. Government database backups are TBs


I hate that. Postgres is weirdly expensive when cloud managed and this pricing adds to that.


When is tech going to realize Hetzner anything is a big negative.


Why is that?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: