GCP Cloud Run vs Cloud Functions vs App Engine

Last Updated: 2022-03-08

Google Cloud Platform has several serverless offerings:

  • Cloud Run: for containers, essentially a managed Knative. Launched in 2019.
    • If you worry about "vendor lock-in", Cloud Run is the best choice: code is packaged into standard (Docker) containers; and since Knative is an open source project, you can easily migrate to an on-prem environment or another cloud running Knative, without worrying about hidden differences under the hood.
  • Cloud Functions: Functions as a Service.
    • 1st gen launched in 2016.
    • 2nd gen introduced in 2022, built on top of Cloud Run.
      • Improvements: longer processing time for HTTP functions (up to 60 mins), enabling use cases like data processing pipelines and machine learning; reduces cold starts and latency; increases concurrency to up to 1000 requests per function instance; supports larger instances, up to 16 GB memory and 4 vCPUs.
      • uses Eventarc for event delivery, supporting triggers from different sources.
  • App Engine: Platform as a Service. Launched in 2008, even before "serverless" became a buzzword. Probably not the best choice if you are starting a new development.