Cloud Functions for Firebase

Cloud Functions for Firebase adalah framework serverless yang memungkinkan Anda menjalankan kode backend secara otomatis sebagai respons terhadap peristiwa yang dipicu oleh peristiwa latar belakang, permintaan HTTPS, Admin SDK, atau tugas Cloud Scheduler. Kode JavaScript, TypeScript, atau Python Anda disimpan di infrastruktur Google Cloud dan berjalan di lingkungan terkelola. Anda tidak perlu mengelola dan menyesuaikan skala server sendiri.

Sudah menggunakan Cloud Functions di Google Cloud? Pelajari lebih lanjut cara Firebase dapat melengkapinya.

Memulai Kasus penggunaan

Kemampuan utama

Mengintegrasikan fitur Firebase dan menghubungkan Firebase dengan Google Cloud

Fungsi yang Anda tulis dapat merespons peristiwa yang dihasilkan oleh berbagai fitur Firebase dan Google Cloud, mulai dari pemicu Firebase Authentication hingga Pemicu Cloud Storage.

Lakukan integrasi di seluruh fitur Firebase menggunakan Admin SDK bersama dengan Cloud Functions, lalu lakukan integrasi dengan layanan pihak ketiga dengan cara menulis webhook Anda sendiri. Cloud Functions meminimalkan kode boilerplate, sehingga mempermudah penggunaan Firebase dan Google Cloud di dalam fungsi Anda.
Tak perlu pemeliharaan Deploy kode JavaScript, TypeScript, atau Python Anda ke server kami dengan satu perintah dari command line. Setelah itu, Firebase akan otomatis meningkatkan skala resource komputasi agar sesuai dengan pola penggunaan para pengguna Anda. Anda tidak perlu memikirkan kredensial, konfigurasi server, penyediaan server baru, atau penonaktifan server lama.
Menjaga keamanan dan kerahasiaan logika aplikasi Dalam banyak kasus, developer lebih memilih untuk mengendalikan logika aplikasi di server agar kode di sisi klien tidak disalahgunakan. Selain itu, terkadang kita tidak ingin kode tersebut direkayasa balik. Cloud Functions benar-benar terisolasi dari klien, sehingga Anda bisa yakin bahwa Cloud Functions terjaga kerahasiaannya dan selalu bertindak sesuai keinginan Anda.

Bagaimana cara kerjanya?

Setelah Anda menulis dan men-deploy fungsi, server Google akan segera memulai pengelolaan fungsi. Anda dapat menjalankan fungsi secara langsung dengan permintaan HTTP, Admin SDK, atau tugas terjadwal, atau, dalam kasus fungsi latar belakang, server Google mendeteksi peristiwa dan menjalankan fungsi saat dipicu.

Seiring bertambahnya atau berkurangnya beban, Google akan merespons dengan secara cepat menskalakan jumlah instance server virtual yang dibutuhkan untuk menjalankan fungsi Anda. Setiap fungsi berjalan secara terisolasi di lingkungannya sendiri dengan konfigurasinya sendiri.

Siklus proses fungsi latar belakang

  1. Anda menulis kode untuk fungsi baru, memilih penyedia peristiwa (seperti Cloud Firestore), dan menentukan kondisi untuk menjalankan fungsi tersebut.
  2. Saat Anda men-deploy fungsi:
    1. Firebase CLI membuat arsip .zip kode fungsi, yang kemudian diupload ke bucket Cloud Storage bucket (diawali dengan gcf-sources) before Cloud Functions sebelum repositori Artifact Registry (yang diberi nama gcf-artifacts) pada project Anda.
    2. Cloud Build akan mengambil kode fungsi dan mem-build sumber fungsi. Anda dapat melihat log Cloud Build di Konsol Google Cloud.
    3. Image container untuk kode fungsi yang di-build diupload ke repositori Artifact Registry pribadi di project Anda (diberi nama gcf-artifacts), dan fungsi baru Anda akan diluncurkan.
  3. Saat penyedia peristiwa menghasilkan peristiwa yang sesuai dengan kondisi fungsi, kode akan dipanggil.
  4. Jika fungsi sibuk menangani banyak peristiwa, Google akan membuat lebih banyak instance untuk memproses tugas lebih cepat. Jika fungsi tidak sedang beraktivitas, instance akan dibersihkan.
  5. Saat Anda mengupdate fungsi dengan men-deploy kode yang diperbarui, instance untuk versi yang lebih lama akan dibersihkan bersama artefak build pada Artifact Registry, dan diganti dengan instance baru.
  6. Saat Anda menghapus fungsi, semua instance dan arsip zip akan dibersihkan, beserta artefak build yang terkait di Artifact Registry. Koneksi antara fungsi dan penyedia peristiwa akan dihapus.

Selain mendeteksi peristiwa dengan fungsi latar belakang, Anda dapat memanggil fungsi secara langsung dengan permintaan HTTP atau panggilan dari klien. Anda juga dapat memicu fungsi pada jadwal tetap atau mengantrekan fungsi tugas melalui Admin SDK.

Alur implementasi

Siapkan Cloud Functions Instal Firebase CLI dan lakukan inisialisasi Cloud Functions di project Firebase Anda.
Menulis fungsi Tulis kode JavaScript, kode TypeScript, atau kode Python untuk menangani peristiwa dari layanan Firebase, layanan Google Cloud, atau penyedia peristiwa lainnya.
Menguji fungsi Gunakan emulator lokal untuk menguji fungsi Anda.
Deploy dan pantau Aktifkan penagihan untuk project Anda dan deploy fungsi menggunakan Firebase CLI. Anda dapat menggunakan Konsol Google Cloud untuk melihat dan menelusuri log.

Langkah berikutnya