Hello everyone !
I have a node app and a PostgreSQL DB in VPS using Docker, with Coolify as a CI/CD, nothing too fancy, you might say.
My question is the following.
I have a lot of read/write on my DB and even the lowest increase in DB latency can have an impact on my users' experience. As my VPS is in France, what could be the best/easiest (selfhosted?) option to solve this problem in other regions (North America, Asia...) ?
Your app and DB should be deployed together in the same datacenter to minimize latency between app and DB. Nothing should be hitting your DB besides your app and any etl tools if applicable. So latency to your DB shouldn't be an issue.
If you need to add redundancy with a deployment in another region you should consider having separate environments between regions with totally separate data which allows you to better manage data protection/export regulations appropriately.
If that doesn't work you'll need a multi region database, a vendor with support for that such as aws rds would be the sanest method but you can always hack it yourself.
There's other options but those require an architecture designed to be heavily distributed and that depends a lot on the nature of your application and you'd ideally hire an architect experienced in such deployments.
My app and DB are on the same server, even more the same Docker Network.
Environments separated by region seem to be the best solution for my use case. I hadn't thought of that at all, thank you very much.