Gestisci contenuti dinamici e ospita microservizi con Firebase Hosting

Firebase Hosting si integra con le opzioni di serverless computing, tra cui Cloud Functions for Firebase e Cloud Run. Utilizzando Firebase Hosting con queste opzioni, puoi ospitare microservizi indirizzando le richieste HTTPS per attivare le tue funzioni e le tue app containerizzate da eseguire in un ambiente gestito e sicuro.

Cloud Functions for Firebase: scrivi e implementi una funzione, ovvero codice di backend che risponde a un trigger specifico. Poi, utilizzando Firebase Hosting, puoi indirizzare le richieste HTTPS per attivare l'esecuzione della funzione.

Cloud Run: scrivi ed esegui il deployment di un'applicazione pacchettizzata in un'immagine container. Poi, utilizzando Firebase Hosting, puoi indirizzare le richieste HTTPS per attivare l'esecuzione dell'app containerizzata.

Casi d'uso

Come puoi utilizzare le opzioni di serverless computing con Firebase Hosting?

  • Pubblica contenuti dinamici: oltre a pubblicare contenuti statici sul tuo sito Hosting, puoi pubblicare risposte generate dinamicamente da una funzione o da un'app in contenitori che esegue la logica lato server.

    Ad esempio, puoi indirizzare un pattern URL (come /blog/<blog-post-id>) a una funzione che utilizza il parametro ID post del blog dell'URL per recuperare i contenuti in modo dinamico dal tuo database.

  • Crea API REST: puoi creare un'API di microservizi utilizzando le funzioni.

    Ad esempio, le funzioni possono gestire la funzionalità di accesso per il tuo sito web. Mentre il tuo sito web è ospitato su /, qualsiasi richiesta a /api viene reindirizzata all'API del microservizio. Per un esempio, dai un'occhiata a questo esempio open source.

  • Memorizza nella cache i contenuti dinamici: puoi configurare la memorizzazione nella cache dei contenuti dinamici su una CDN globale.

    Ad esempio, se una funzione genera nuovi contenuti solo periodicamente, puoi velocizzare la tua app memorizzando nella cache i contenuti generati per almeno un breve periodo di tempo. Puoi anche ridurre potenzialmente i costi di esecuzione perché i contenuti vengono pubblicati dalla CDN anziché tramite una funzione attivata o un'app in container.

  • Esegui il prerendering delle app a una sola pagina: puoi migliorare la SEO e ottimizzare la condivisione su varie reti social creando tag meta dinamici. Per scoprire di più, guarda questo video o consulta questo esempio open source.

Scegliere un'opzione serverless

Cloud Functions for Firebase e Cloud Run si integrano con Firebase Hosting e offrono un ambiente serverless completamente gestito, con scalabilità automatica e sicuro, ma le due opzioni possono essere sfruttate per casi d'uso diversi e per il livello di configurazione personalizzata desiderato.

Quando utilizzi una delle opzioni serverless, è consigliabile collocarla insieme ai server per Firebase Hosting eseguendo il deployment in una delle seguenti regioni:

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

La tabella seguente descrive alcune considerazioni di base per l'utilizzo di Cloud Functions for Firebase rispetto a Cloud Run. Per un elenco completo di quote, limiti e metriche, consulta la documentazione dettagliata di ogni prodotto (Cloud Functions for Firebase o Cloud Run).

Considerazione Cloud Functions for Firebase Cloud Run
Configurazione La CLI Firebase raggruppa più attività in singoli comandi, dall'inizializzazione alla creazione e al deployment. I container offrono opzioni più personalizzabili, quindi le attività di configurazione, creazione e deployment comportano passaggi discreti.
Ambiente di runtime Richiede Node.js, ma puoi specificare quale versione di Node.js utilizzare. Quando crei il container, specifichi l'ambiente di runtime.
Supporto di lingue e framework

JavaScript e TypeScript

Sono supportati i framework web, come Express.js.

Qualsiasi linguaggio supportato dai Dockerfile, tra cui Go, Node.js, Python, Java e altri

Sono supportati i framework web per ogni lingua.

Timeout per la richiesta Hosting 60 secondi (vedi la nota di seguito) 60 secondi (vedi la nota di seguito)
Contemporaneità 1 richiesta per istanza di funzione
(nessuna concorrenza per istanza)
Fino a 1000 richieste simultanee per istanza container
Fatturazione Utilizzo di Cloud Functions

Quota di utilizzo senza costi, ma è necessario un account Cloud Billing. Consulta le Domande frequenti su Firebase.

Utilizzo di Cloud Run + spazio di archiviazione Container Registry

Quota di utilizzo senza costi, ma è necessario un Cloud Billing�