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 in un ambiente sicuro e gestito.
Cloud Functions for Firebase: scrivi e esegui il deployment di una funzione, ovvero codice di backend che risponde a un attivatore specifico. Quindi, 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. Quindi, 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?
Pubblicazione di contenuti dinamici: oltre a pubblicare contenuti statici sul tuo sito Hosting, puoi pubblicare risposte generate dinamicamente da una funzione o un'app containerizzata 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 dinamicamente 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 tuo microservizio. Per un esempio, consulta 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 accelerare l'app memorizzando nella cache i contenuti generati per almeno un breve periodo di tempo. Potresti anche ridurre potenzialmente i costi di esecuzione perché i contenuti vengono pubblicati dalla CDN anziché tramite una funzione attivata o un'app containerizzata.
Precarica le app a pagina singola: puoi migliorare la SEO e ottimizzare la condivisione su vari social network creando tag
meta
dinamici. Per scoprire di più, guarda questo video o consulta questo esempio open source.
Scelta di un'opzione serverless
Sebbene sia Cloud Functions for Firebase sia Cloud Run si integrino con Firebase Hosting e offrano un ambiente serverless completamente gestito, con scalabilità automatica e sicuro, 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, è meglio 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 seguente tabella 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 ciascun prodotto (Cloud Functions for Firebase o Cloud Run).
Considerazione | Cloud Functions for Firebase | Cloud Run |
---|---|---|
Configurazione | L'interfaccia a riga di comando Firebase raggruppa più attività in singoli comandi, dall'inizializzazione alla compilazione e al deployment. | I container offrono opzioni più personalizzabili, pertanto le attività di configurazione, compilazione e deployment prevedono passaggi distinti. |
Ambiente di runtime | Richiede Node.js, ma puoi specificare quale versione di Node.js utilizzare. | Quando crei il contenitore, specifichi l'ambiente di runtime. |
Supporto di lingue e framework | JavaScript e TypeScript I framework web, come Express.js, sono supportati. |
Qualsiasi linguaggio supportato dai file Docker, 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 in parallelo 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 account Cloud Billing |