Our current and planned examples use Cloud Run. This is generally preferred over Cloud Functions because it is more flexible and has higher quotas (e.g., max throughput). However, Cloud Functions is easier for non-technical folks because GCP handles some details under the hood. For example, it allows you to deploy a "bare" function and GCP takes care of containerizing it for you. Thus it has a lower barrier to entry.
Our current and planned examples use Cloud Run. This is generally preferred over Cloud Functions because it is more flexible and has higher quotas (e.g., max throughput). However, Cloud Functions is easier for non-technical folks because GCP handles some details under the hood. For example, it allows you to deploy a "bare" function and GCP takes care of containerizing it for you. Thus it has a lower barrier to entry.