Cloud Functions offers two product versions:
Cloud Functions (1st gen), the original version, and
Cloud Functions (2nd gen), a new version built on
Cloud Run
and
Eventarc
to provide an enhanced feature set. This
page describes new features introduced in Cloud Functions (2nd gen) and
provides a comparison between the two product versions.
We recommend that you choose Cloud Functions (2nd gen) for new functions
wherever possible. However, we plan to continue supporting Cloud Functions
(1st gen).
New in Cloud Functions (2nd gen)
Cloud Functions (2nd gen) is Firebase's next-generation
Functions-as-a-Service offering. Built on Cloud Run and
Eventarc, Cloud Functions (2nd gen) brings enhanced infrastructure
and broader event coverage to Cloud Functions, including:
- Longer request processing times
: Run longer-request workloads such as
processing large streams of data from Cloud Storage or BigQuery.
- Larger instance sizes
: Run larger in-memory, compute-intensive, and
parallel workloads.
- Improved concurrency
: Handle multiple concurrent requests with a single
function instance to minimize cold starts and improve latency.
- Traffic management
: Split traffic between different function revisions
or roll a function back to a prior version.
- Eventarc integration
: Native support for Eventarc
triggers, bringing all 90+ event sources supported by Eventarc to
Cloud Functions.
- Broader CloudEvents support
: Support for industry-standard
CloudEvents
in all language runtimes, providing
a consistent developer experience.
See the
comparison table
for details.
Because Cloud Functions (2nd gen) is built on Cloud Run,
Cloud Functions (2nd gen) shares resource quotas and limits with
Cloud Run. See
Quotas
.
Comparison table
Feature
|
Cloud Functions (1st gen)
|
Cloud Functions (2nd gen)
|
Image registry
|
Container Registry or Artifact Registry
|
Artifact Registry only
|
Request timeout
|
Up to 9 minutes
|
- Up to 60 minutes for HTTP-triggered functions
- Up to 9 minutes for event-triggered functions
|
Instance size
|
Up to 8GB RAM with 2 vCPU
|
Up to 16GiB RAM with 4 vCPU
|
Concurrency
|
1 concurrent request per function instance
|
Up to 1000 concurrent requests per function instance
|
Pricing
For pricing information, see
Firebase pricing plans
.
If you use Cloud Functions (2nd gen), you can view your costs associated with
only Cloud Functions (2nd gen) as follows:
- Go to the
Cloud Billing Reports page
in the GCP Console.
- If prompted, select the billing account associated with your
Google Cloud Platform project.
- In the
Filters
panel, under
Labels
,
add a label filter
with the key
goog-managed-by
and the value
cloudfunctions
.
Limitations
Cloud Functions for Firebase (2nd gen) does not provide support for Analytics
events.
Though Cloud Functions for Firebase (2nd gen) supports authentication blocking
events, it does not support the same set of basic Authentication events as
1st gen.
However, because 1st gen and 2nd gen
functions can coexist side-by-side in the same source file, you can still
develop and deploy Analytics and basic Authentication triggers in 1st gen
together with 2nd gen functions.