Before you keep reading: I will specifically talk about Remix apps built on top of saasrock.
Thanks to @ebm for posting a discussion on how to deploy to fly.
Vercel is fantastic, look at how many apps I have deployed there:
But there's one main problem, COLD STARTS. I think Vercel + Prisma is the combination that causes this problem, and I believe they have already fixed it with Vercel Edge Functions.
I always keep the Hosting and Database regions as close as possible. And I'm excited to experiment with Fly Postgres Clusters in an effort to further enhance performance across multiple regions.
Also, the 60-second limit (in my Vercel Pro plan) also limits some features, such as an integration process that may take up to 2 minutes, which leads to timeouts:
I even created hacky ways to run long-running processes, just check out this demo: https://tools.saasrock.com/long-running-tasks.
If you're curious, these are the deployment URLs.
Read this article to learn how to deploy your app to Fly.io.
The latest release, v0.9.0, has the following configuration files so the deployment process is now easy.
If you don't scale your app, you may get crashes like the following, consider scaling to
shared-cpu-8x... depending on your use case: