Cloud Functions for Firebase
Already using Cloud Functions in Google Cloud? Learn more about how Firebase fits into the picture.
|Integrates Firebase features and connects Firebase with Google Cloud||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.|
|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
.ziparchive 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
gcf-artifacts), and your new function is rolled out.
- The Firebase CLI creates a
- 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.
|Set up Cloud Functions||Install the Firebase CLI and initialize Cloud Functions in your Firebase project.|
|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.|
- Get started setting up, creating, and deploying functions.
- Learn more about what you can do with functions.
- Try the Cloud Functions codelab.