Menayangkan konten dinamis dan menghosting microservice menggunakan Firebase Hosting

Firebase Hosting terintegrasi dengan opsi komputasi serverless, termasuk Cloud Functions for Firebase dan Cloud Run. Dengan menggunakan Firebase Hosting bersama kedua opsi ini, Anda dapat menghosting microservice dengan mengarahkan permintaan HTTPS untuk memicu fungsi dan aplikasi dalam container agar berjalan dalam lingkungan yang aman dan terkelola.

Cloud Functions for Firebase: Anda menulis dan men-deploy fungsi, yaitu kode backend yang merespons pemicu tertentu. Selanjutnya, dengan menggunakan Firebase Hosting, Anda dapat mengarahkan permintaan HTTPS untuk memicu fungsi agar berjalan.

Cloud Run: Anda menulis dan men-deploy aplikasi yang dikemas dalam image container. Selanjutnya, dengan menggunakan Firebase Hosting, Anda dapat mengarahkan permintaan HTTPS untuk memicu aplikasi dalam container agar berjalan.

Kasus penggunaan

Bagaimana cara menggunakan opsi komputasi serverless dengan Firebase Hosting?

  • Menayangkan konten dinamis — Selain menayangkan konten statis di situs Hosting, Anda dapat menayangkan respons yang dibuat secara dinamis dari sebuah fungsi atau aplikasi dalam container yang menjalankan logika sisi server.

    Misalnya, Anda dapat mengarahkan pola URL (seperti /blog/<blog-post-id>) ke sebuah fungsi yang menggunakan parameter ID postingan blog URL tersebut untuk mengambil konten secara dinamis dari database Anda.

  • Mem-build REST API — Anda dapat membuat API microservice menggunakan fungsi.

    Misalnya, fungsi dapat menangani fungsionalitas login untuk situs Anda. Situs Anda dihosting di /, namun semua permintaan ke /api akan dialihkan ke API microservice Anda. Sebagai contoh, lihat contoh open source ini.

  • Menyimpan konten dinamis di cache — Anda dapat mengonfigurasi caching untuk konten dinamis Anda pada CDN global.

    Misalnya, jika sebuah fungsi hanya menghasilkan konten baru secara berkala, Anda dapat mempercepat aplikasi dengan menyimpan konten yang dihasilkan di cache selama setidaknya periode waktu yang singkat. Anda juga berpotensi dapat mengurangi biaya eksekusi karena konten disalurkan dari CDN, bukan melalui aplikasi dalam container atau fungsi yang dipicu.

  • Melakukan render awal untuk aplikasi satu halaman — Anda dapat meningkatkan SEO dan mengoptimalkan berbagi di berbagai jaringan sosial dengan membuat tag meta dinamis. Untuk mempelajari lebih lanjut, tonton video ini atau lihat contoh open source ini.

Memilih opsi tanpa server

Meskipun Cloud Functions for Firebase dan Cloud Run terintegrasi dengan Firebase Hosting dan menawarkan lingkungan serverless yang terkelola sepenuhnya, bisa melakukan penskalaan otomatis, dan aman, kedua opsi tersebut dapat dimanfaatkan untuk berbagai kasus penggunaan dan tingkat konfigurasi kustom yang diinginkan.

Saat menggunakan salah satu opsi serverless, sebaiknya lakukan kolokasi dengan server untuk Firebase Hosting dengan men-deploy di salah satu region berikut:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

Tabel berikut menjelaskan beberapa pertimbangan dasar terkait penggunaan Cloud Functions for Firebase versus Cloud Run. Untuk mengetahui daftar lengkap kuota, batas, dan metrik, lihat dokumentasi mendetail setiap produk (Cloud Functions for Firebase atau Cloud Run).

Pertimbangan Cloud Functions for Firebase Cloud Run
Penyiapan Firebase CLI memaketkan beberapa tugas menjadi satu perintah, dari inisialisasi hingga mem-build dan men-deploy project. Container menawarkan lebih banyak opsi yang dapat disesuaikan, sehingga tugas penyiapan, build, dan deployment membutuhkan langkah-langkah tersendiri.
Lingkungan runtime Memerlukan Node.js, tetapi Anda dapat menentukan versi Node.js yang akan digunakan. Saat mem-build container, Anda menentukan lingkungan runtime.
Dukungan bahasa dan framework

JavaScript dan TypeScript

Framework web, seperti Express.js, didukung.

Bahasa apa pun yang didukung Dockerfile, termasuk Go, Node.js, Python, Java, dan sebagainya

Framework web untuk setiap bahasa didukung.

Waktu tunggu habis untuk permintaan Hosting 60 detik (lihat Catatan di bawah) 60 detik (lihat Catatan di bawah)
Serentak 1 permintaan per instance fungsi
(tidak serentak per instance)
Hingga 1.000 permintaan serentak per instance container
Penagihan Penggunaan Cloud Functions

Kuota penggunaan gratis, tetapi perlu akun Cloud Billing. Lihat FAQ Firebase.

Penggunaan Cloud Run + penyimpanan Container Registry

Kuota penggunaan gratis, tetapi perlu akun Cloud Billing.