What are the differences between Cloud Run & Cloud Functions?
and/or advantages/disadvantages
Cloud Run vs Cloud Run Functions
firebase - Would I benefit using Cloud run instead of Cloud Functions? Where does it fit in GCP? - Stack Overflow
Difference between Cloud Functions Gen.2 and Cloud Run
What are the differences between Cloud Run & Cloud Functions?
Videos
Cloud Functions server instances handle requests in serial, and this is not configurable. Cloud Run instances handle requests in parallel, and the level of parallelism per instance is configurable. This can potentially save you money, if you understand how best to configure a server instance, given the performance characteristics of the code you deploy.
Cloud Functions requires you to choose from among provided language and runtime configurations that are not configurable. Cloud Run lets you run any type of backend configuration you want, assuming that it simply exposes an HTTP endpoint on port 8080.
Cloud Functions provides those selected language and runtime configurations without requiring that you do anything other than deploy code that targets one of those configurations. Cloud Run requires that you supply a docker configuration that establishes the runtime environment (which is more work).
Cloud Functions lets you establish triggers on a wide variety of events that can come from a variety of Cloud and Firebase products. Cloud Run (currently) can be triggered via HTTP requests, PubSub push and a narrow selection of Cloud products (such as Cloud Scheduler and Cloud Tasks).
Cloud Functions requires that you only run your code within the managed provided environments. Cloud Run allows you to take your docker configuration and run it anywhere docker is supported, including GKE, where you gain more control over the server instances.
Google Cloud Run fits into your Serverless layer but as a container. The container infrastructure is managed for you.
Cloud Functions are limited in respect to the libraries, languages, and runtimes supported.
Cloud Run removes those limitations. You can use any language, combination of libraries and runtime that supports running within a container.
One limitation is that there is only one internal port $PORT which defaults to 8080 today. Externally both HTTP and HTTPS are supported. Both HTTP and HTTPS map to $PORT.
One big plus is that Cloud Run supports custom DNS names and custom SSL certificates. You can host your website on Cloud Run. As an experiment, I set up WordPress and Cloud SQL on Cloud Run and assigned it a DNS domain name with an SSL certificate.