I love fly. I use app engine for a different project right now and I really really dislike it. Uptime isn’t great for me and the cost is insane for what it is (IMO)
The one thing keeping me on GCP is a managed database. I am a big baby when it comes to my databases. I love auto backups and the security that GCP gives me.
Are there any recommendations for me to use FLY with a managed DB? I understand I’ll be adding latency for every single query, but maybe there are ways to mitigate this?
You can do pretty well with latency in some regions. We are in the same building complex with AWS/GCP/Azure sometimes, and latency between Fly apps and the database should be sub millisecond.
If you can find good matching regions, you can setup a wireguard peer for connecting your app to the DB.
Our goal in life is to solve managed postgres in the next few months. Either us managing, or with someone like Crunchy Data running on top of Fly. So “hold tight” might also be good advice.
Ashburn VA, Los Angeles, London and Frankfurt are good bets. The simplest test is just to setup a server on GCP in a region and then ping it from a fly app in a matching region.
I’m also interested in running on Fly.io but would much prefer a managed PG database to minimize the amount of dev ops around all of it but still have access to the awesomeness that is Erlang/elixir clustering.
For people running managed Heroku Postgres with Fly.io app servers: how as the experience been like in managing deployments and read replicas?
Just to add my 2 cents worth. We’ve completely switched over to using Crunchy Bridge after having repeated problems with PG on Fly - I don’t want to manage it myself, it’s not our core business, happy to pay someone else really good at doing that so I can focus on our app.
Crunchy is working extremely well for us, being able to easily bring that to being withoun our Fly networking env along with a good SLA would be fantastic and get all my thumbs up.
Have you considered using Fauna? It is NoSQL but, like PostgreSQL, supports fully relational transactions with high data isolation. You don’t have to worry about partitioning, replication, etc. and you have various global region functions. More info about the integration between Fly and Fauna here Fly+Fauna app guide