Even on low-volume projects I've noticed reliability issues with Fly.io too. For example today we have requests timing out at the gateway (before hitting our services) while the status page indicates their current outage is only related to delayed app logs [0][1]. Haven't gone deep enough with the other new-ish PaaS providers (like Render and Railway) to get a feel for their limitations.
Unless you're certain you need K8s and have the in-house expertise to support it, I'd suggest going for Fargate or Cloud Run. Are there any requirements that you're concerned they won't meet?
Like another commenter mentioned, managed container platforms like Cloud Run and Fargate don't have the same cold start limitations as serverless functions like Lambda.
Serverless functions spin up resources and run isolated code on-demand for every request as it's received. If you have no traffic, it scales down to zero and cold starts can be a concern. And paying for compute per-request like this can get very expensive at scale.
While Fargate is advertised as "serverless", I'd think of it as a fully container platform, it's closer to Heroku than it is serverless functions. You point it to an image, tell it how many instances you want to run, maybe set up some autoscaling rules (like to add more instances when CPU reaches X%), and then it'll run those instances 24/7. From what you've described, it sounds like a good fit.
Unless you're certain you need K8s and have the in-house expertise to support it, I'd suggest going for Fargate or Cloud Run. Are there any requirements that you're concerned they won't meet?
- [0] https://status.flyio.net/incidents/q4tvqhthjmsy - [1] https://twitter.com/davydog187/status/1774874993618255977