Plus, I just finished making an auto deploy to AppEngine Workflow with GitHub Actions last night, so I can just push and auto deploy if all tests pass!
The project I created it for isn't public yet, but I made a gist that provides an example workflow and the steps required to make it work.
Disclaimer: I work on both Cloud Run and App Engine at Google.
Unlike something like Fargate, it supports automatic scaling of containers based on requests, so it will run zero containers if you get no traffic, and 100 containers if you get (for example) 1500 requests per sec. The fully-managed version has a pay-per-100ms of execution model, while the GKE-hosted version uses an existing GKE cluster you provide.
Don't think you could use Django on Cloud Run without issues, though, particularly with how it handles Sessions.
If you're doing any modern architecture with microservices using containers, you're primarily doing stateless things (even if it's your web frontend) and pushing the state off to somewhere like Redis/memcached/database.
You basically implied that web frontends don't run in a load-balanced multi-replica set up, which is not true.
Similarly from what you said one might think people don't deploy web frontends to Kubernetes (where containers come and go all the time as they're ephemeral, due to events like crashes, autoscaling), which is also not true.
If you’re writing anything that scales (i.e. has multiple replicas), then you actually store any significant state wrt logins/sessions on your app and you push it out to an external storage. Most web frameworks offer libraries or middleware that let you persist this "state" in external storage.
We use it in conjunction with Google PubSub and Cloud Storage to evaluate ML models in production and are really happy with it.