Hi. Thanks for reading and for asking.
Firstly, I’m a serverless fan and I have an opinion on that. But I also have argument for Cloud Run.
In reality, there isn’t possible comparison, except the cost: If you use 1H of same vCPU and Memory on Cloud Run and Compute Engine, Cloud Run is about twice more expensive.
But the comparison ends here. The operational model is totally different. On compute engine, you need to manage your VM: start it, stop it, backup it, patch it, update it, … With Cloud Run (and other serverless product such as Cloud Functions and App Engine), you don’t have to worry about that. In addition, you are natively high available at regional scale, you don’t have to worry about SSL and certificate management and when you don’t use your service, you pay nothing, rounded up to 100ms.
Definitively, if you haven’t strong constraints (use GPU or TPU for example, special processing pattern, need of local storage,…), Cloud Run is always a better solution, more flexible, scalable, cost saving,…
Let me know more about your context and use case, I will try to guide you on the most efficient way.