But I'd personally be way too stressed and annoyed by worrying about the often very restrictive free tier limits. You can very easily blow through the network egress, for example.
For things I want to be cheap I've started hosting a lot of things on Hetzner Cloud [1].
Even their cheapest instance (1vCPU/2GB RAM/20TB traffic) at 2.5 Euro/month can run a k3s Kubernetes cluster with Traefik ingress, loki logging, their own CSI driver, cert-manager, Grafana and a 2 or 3 light weight Go/Rust services. With their Terraform provider I can easily scale up the cluster in less than a minute.
And since it's Kubernetes I can also always move things to GC or AWS if required.
That's incredibly cheap, and you don't have to worry about limits or free tier periods ending, etc. It's a long-term solution.
I'm sure there are some other similar providers out there.
edit: to be clear, I also have clients with sizable production workloads on the same infrastructure, it's not just for tiny toy deployments. Above is just an example how far you can go for almost no money.