Cloud Functions for Firebase

Cloud Functions for Firebase adalah framework tanpa server yang memungkinkan Anda menjalankan kode backend secara otomatis sebagai respons terhadap peristiwa yang dipicu oleh fitur Firebase dan permintaan HTTPS. Kode JavaScript atau TypeScript Anda disimpan di cloud Google dan berjalan di lingkungan yang terkelola. Anda tidak perlu mengelola atau menskalakan server Anda sendiri.

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

Memulai Kasus penggunaan

Kemampuan utama

Mengintegrasikan platform Firebase

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 atau TypeScript 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, atau dalam kasus fungsi latar belakang, server Google akan 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 (diawali dengan gcf-sources) sebelum Cloud Functions membuat 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 Google Cloud Console.
    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.

Alur implementasi

Siapkan Cloud Functions Instal Firebase CLI dan lakukan inisialisasi Cloud Functions di project Firebase Anda.
Tulis fungsi Tulis kode JavaScript (atau kode TypeScript untuk ditranspilasi saat deployment) untuk menangani peristiwa dari layanan Firebase, layanan Google Cloud, atau penyedia peristiwa lainnya.
Uji 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 Google Cloud Console untuk melihat dan menelusuri log.

Langkah berikutnya