I am considering using Citus because my app is text-book multitenancy app and my problems are exactly what Citus is meant to solve (some tenants are starting to grow so big that they are starting to affect other tenants processes). Schema-wise I'd need some changes but not too much. My biggest issue is that currently we are using AWS RDS and Citus is only offered as a SAAS solution in Azure. Migrating to Azure is not an option. I could potentially move to a self-hosted Postgres cluster, but there are two big downsides to that:
- I'd have to build out a lot of things that come "for free" with RDS. Stuff like backups, observability, etc...
- We are very very limited on DBA resources and self-hosting our own cluster obviously needs more of that.
So I was thinking:
Would it be possible to use RDS nodes as Citus worker nodes and only self-host the coordinator/master node? So i would get most of the RDS "for free" stuff (critical data is backed up etc) and still get to use Citus. It seems possible at first glance, because it feels like that worker nodes are not even aware that they are Citus nodes. Or is there something I'm missing? Has any of you done that? Are there any huge downsides to that compared to fully self-hosting? Do I get worst of both and best of neither or would it actually make sense considering doing it like that?