Firebase Hosting si integra con le opzioni di elaborazione serverless, tra cui Cloud Functions per Firebase e Cloud Run. Utilizzando Firebase Hosting con queste opzioni, puoi ospitare microservizi indirizzando le richieste HTTPS per attivare le tue funzioni e le app containerizzate affinché vengano eseguite in un ambiente gestito e sicuro.
Funzioni cloud per Firebase : scrivi e distribuisci una funzione, che è un codice di back-end che risponde a un trigger specifico. Quindi, utilizzando Firebase Hosting, puoi indirizzare le richieste HTTPS per attivare l'esecuzione della tua funzione.
Cloud Run : scrivi e distribuisci un'applicazione in un pacchetto in un'immagine container. Quindi, utilizzando Firebase Hosting, puoi indirizzare le richieste HTTPS per attivare l'esecuzione della tua app containerizzata.
Casi d'uso
Come puoi utilizzare le opzioni di elaborazione senza server con Firebase Hosting?
Servire contenuti dinamici : oltre a servire contenuti statici sul tuo sito di hosting, puoi servire risposte generate dinamicamente da una funzione o da 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 il contenuto 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 in
/
, qualsiasi richiesta a/api
viene reindirizzata all'API del tuo microservizio. Per un esempio, dai un'occhiata a questo campione open source .Contenuti dinamici nella cache : puoi configurare la memorizzazione nella cache dei tuoi contenuti dinamici su un CDN globale.
Ad esempio, se una funzione genera nuovi contenuti solo periodicamente, puoi velocizzare la tua app memorizzando nella cache i contenuti generati almeno per un breve periodo di tempo. Puoi anche potenzialmente ridurre i costi di esecuzione perché il contenuto viene servito dal CDN piuttosto che tramite una funzione attivata o un'app containerizzata.
Prerendering delle tue app a pagina singola : puoi migliorare la SEO e ottimizzare la condivisione su vari social network creando
meta
tag dinamici. Per ulteriori informazioni, guarda questo video o dai un'occhiata a questo esempio open source .
Scegliere un'opzione serverless
Sebbene sia Cloud Functions for Firebase che 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 diversi casi d'uso e il livello desiderato di configurazione personalizzata.
La tabella seguente descrive alcune considerazioni di base per l'utilizzo di Cloud Functions per Firebase rispetto a Cloud Run. Per un elenco completo di quote, limiti e metriche, fai riferimento alla documentazione dettagliata di ciascun prodotto ( Funzioni cloud per Firebase o Cloud Run ).
Considerazione | Funzioni cloud per Firebase | Corsa delle nuvole |
---|---|---|
Impostare | L'interfaccia a riga di comando di Firebase raggruppa più attività in singoli comandi, dall'inizializzazione alla creazione e distribuzione. | I contenitori offrono opzioni più personalizzabili, quindi le attività di configurazione, creazione e distribuzione richiedono passaggi discreti. |
Ambiente di esecuzione | Richiede Node.js, ma puoi specificare quale versione di Node.js utilizzare. | Quando crei il tuo contenitore , specifichi l'ambiente di runtime. |
Supporto per linguaggi e framework | JavaScript e dattiloscritto I framework Web, come Express.js, sono supportati. | Qualsiasi linguaggio supportato da Dockerfiles, inclusi Go, Node.js, Python, Java e altri Sono supportati i framework Web per ogni lingua. |
Timeout per la richiesta di hosting | 60 secondi (vedi nota sotto) | 60 secondi (vedi nota sotto) |
Concorrenza | 1 richiesta per istanza di funzione (nessuna concorrenza per istanza) | Fino a 1.000 richieste simultanee per istanza di container |
Fatturazione | Utilizzo delle funzioni cloud Quota di utilizzo gratuita, ma è necessario un account Cloud Billing . Consulta le domande frequenti su Firebase . | Utilizzo di Cloud Run + archiviazione di Container Registry Quota di utilizzo gratuita, ma è necessario un account Cloud Billing |