Cloud Functions is a fully managed event-driven serverless function-as-a-service (FaaS).
It is a small piece of code that runs in response to an event.
Because it is fully managed, developers can just write the code and deploy it without worrying about managing the servers or scaling up/down with traffic spikes. It is also fully integrated with Cloud Operations for observability and diagnosis. Cloud Functions is based on an open source FaaS framework which makes it easy to migrate and debug locally.
To use Cloud Functions, just write the logic in any of the supported languages (Go, Python, Java, Node.js, PHP, Ruby, .NET), deploy it using the console, API or Cloud SDK and then trigger it via HTTP(s) request from any service, for example: file uploads to Cloud Storage, events in Pub/Sub or Firebase, or even direct call via Command Line Interface CLI.
There is a generous free tier and the pricing is based on number of events, compute time, memory and ingress/egress requests and costs nothing if the function is idle. For security, using Identity and Access Management IAM you can define which services or personnel can access the function and using the VPC controls you can define network based access.
Cloud Functions use cases
Some Cloud Functions use cases include:
- Integration with third-party services and APIs
- Asynchronous workloads like lightweight ETL
- Lightweight APIs and webhooks
- IoT processing and update of the sensors/devices in the field
- Real-time file processing for use cases such as media transcoding or resizing as soon as the file is uploaded in Google Cloud Storage.
- Real-time ML solutions for use cases such as media translation or image recognition for files uploaded in GCS.
- Backend for chat applications and mobile apps.
Firebase Functions and Cloud Functions, are they different?
If you are a Firebase developer, you’d probably use Firebase Functions. Those are created from the Firebase dashboard / website. Both Cloud Functions and Firebase Functions can do the same things, they just have slightly different signatures and slightly different ways of deploying. Firebase Functions have a local emulator, which Cloud Functions uses the Functions Framework.
For a more in-depth look into Cloud Functions check out the documentation. Once you’ve got your Function up and running, check out some tips and tricks.
For more #GCPSketchnote, follow the GitHub repo.
For similar cloud content follow on Twitter @pvergadia and keep an eye out on thecloudgirl.dev