Cloud Functions for Firebase
plat_ios
plat_android
plat_web
plat_flutter
plat_cpp
plat_unity
Cloud Functions for Firebase is a serverless framework that
lets you automatically run backend code in response to events triggered by
background events, HTTPS requests, the Admin SDK, or Cloud Scheduler jobs. Your
JavaScript, TypeScript or Python code is stored on Google Cloud infrastructure
and runs in a managed environment. There's no need to manage and scale your
own servers.
Already using Cloud Functions in Google Cloud?
Learn more
about how Firebase fits
into the picture.
Get started
Use cases
Key capabilities
Integrates Firebase features and connects Firebase with
Google Cloud
|
The functions you write can respond to events generated by various
Firebase and Google Cloud features, from
Firebase Authentication triggers
to
Cloud Storage Triggers
.
Integrate across Firebase features using the
Admin SDK
together with Cloud Functions, and integrate with third-party
services by writing your own webhooks.
Cloud Functions minimizes boilerplate
code, making it easier to use Firebase and Google Cloud inside your
function.
|
Zero maintenance
|
Deploy your JavaScript, TypeScript, or Python code to our servers with one
command from the command line.
After that, Firebase automatically scales up computing resources to match
the usage patterns of your users. You never worry about credentials,
server configuration, provisioning new servers, or decommissioning old
ones.
|
Keeps your logic private and secure
|
In many cases, developers prefer to control application logic on the
server to avoid tampering on the client side. Also, sometimes
it's not desirable to allow that code to be reverse engineered.
Cloud Functions is fully insulated from the client, so you
can be sure it is private and always does exactly what you want.
|
How does it work?
After you write and deploy a function, Google's servers begin to manage the
function immediately. You can fire the function directly with an HTTP request,
the Admin SDK, or a scheduled job, or, in the case of background functions,
Google's servers listen for events and run the function when it is
triggered.
As the load increases or
decreases, Google responds by rapidly scaling the number of virtual server
instances needed to run your function. Each function runs in isolation, in its
own environment with its own configuration.
Lifecycle of a background function
- You write code for a new function, selecting an event provider (such as
Cloud Firestore), and defining the conditions under which the function should
execute.
- When you deploy your function:
- The Firebase CLI creates a
.zip
archive of the function code,
which is then uploaded to a Cloud Storage bucket (prefixed with
gcf-sources
) before
Cloud Functions creates an Artifact Registry repository (named
gcf-artifacts
) in your project.
- Cloud Build retrieves the function code and builds the function
source. You can view Cloud Build logs in the
Google Cloud console
.
- The container image for the built functions code is uploaded to a
private Artifact Registry repository in your project
(named
gcf-artifacts
), and your new function is rolled out.
- When the event provider generates an event that matches the function's
conditions, the code is invoked.
- If the function is busy handling many events, Google creates more instances
to handle work faster. If the function is idle, instances are cleaned up.
- When you update the function by deploying updated code, instances for older
versions are cleaned up along with build artifacts in
Artifact Registry, and replaced by new instances.
- When you delete the function, all instances and zip archives are cleaned up,
along with related build artifacts in Artifact Registry.
The connection between the function and the event provider is removed.
In addition to listening for events with a background function, you can call
functions directly with an HTTP request or a
call from the client
. You can also trigger functions
on a fixed
schedule
or
enqueue task functions
via the Admin SDK.
Implementation path
|
Set up Cloud Functions
|
Install the Firebase CLI and initialize
Cloud Functions in your Firebase project.
|
|
Write functions
|
Write JavaScript code, TypeScript code, or Python code
to handle events from Firebase
services, Google Cloud services, or other event providers.
|
|
Test functions
|
Use the
local emulator
to test your functions.
|
|
Deploy and monitor
|
Enable billing for your project and deploy your functions using the
Firebase CLI. You can use the
Google Cloud Console
to view and search through your logs.
|
Next steps