Google Cloud Functions is Google's serverless compute solution for creating event-driven applications. It is a joint product between the Google Cloud Platform team and the Firebase team.
For Google Cloud Platform developers, Cloud Functions serve as a connective layer allowing you to weave logic between Google Cloud Platform (GCP) services by listening for and responding to events.
For Firebase developers, Cloud Functions for Firebase provides a way to extend the behavior of Firebase and integrate Firebase features through the addition of server-side code.
Both solutions provide fast and reliable execution of functions in a fully managed environment where there's no need for you to worry about managing any servers or provisioning any infrastructure.
Cloud Functions for Firebase
You should use Cloud Functions for Firebase if you're a developer building a mobile or mobile web app. Firebase gives mobile developers access to a complete range of fully managed mobile-centric services including analytics, authentication and Realtime Database. Cloud Functions rounds out the offering by providing a way to extend and connect the behavior of Firebase features through the addition of server-side code.
Firebase developers can easily integrate with external services for tasks like processing payments and sending SMS messages. Also, developers can include custom logic that is either too heavyweight for a mobile device, or which needs to be secured on a server. See What Can I Do with Cloud Functions? to learn more about typical integration use cases. For developers that need a more full-featured backend, Cloud Functions provides a gateway to the powerful capabilities in Google Cloud Platform.
Cloud Functions for Firebase is optimized for Firebase developers:
- Firebase SDK to configure your functions through code
- Integrated with Firebase Console and Firebase CLI
- The same triggers as Google Cloud Functions, plus Firebase Realtime Database, Firebase Authentication, and Firebase Analytics triggers
Cloud Functions for Google Cloud Platform
Developers can connect and extend GCP services by writing code in the form of a Cloud Function. Cloud Functions serve as a connective layer allowing you to weave logic between GCP services by listening for and responding to events. With just a few lines of code, developers can enrich their use of GCP services to create higher level combinations without needing to provision or manage servers. See the Google Cloud Functions documentation for more information.
Known limitations on interoperability
There are still some areas where Google Cloud Functions and the Firebase SDK for Cloud Functions do not have full interoperability:
- Cloud Functions written using the Firebase SDK for Cloud Functions can't be
deployed using the
gcloudcommand-line tool, and vice-versa.