GCP Cloud Run vs Cloud Functions vs App Engine
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.