Thanks for reading and your great comment. And you got 1 point: the deterministic URL.
I agree, with Cloud Run, it's really hard to know it in advance even if the team is working to solve that issue (with a kind of discovery service, that could also simplify the service to service authentication).
The issue with Gen2 is the same as Cloud Functions: limited language choice, no portability, no runtime customization. Today, there is absolutely no difficulty to build a container, even for small companies.
Ah, another pain points (that I lived): developers patched the Cloud Functions directly from the UI. Ok, it's handy, but it's not linked to your source repository. And next time that we redeployed, the bug came again.
Handy is not always the solution!