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 per l'esecuzione in un ambiente gestito e sicuro.
Cloud Functions per Firebase : scrivi e distribuisci una funzione, che è un codice 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 contenuta in un'immagine del contenitore. 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 serverless con Firebase Hosting?
Offri contenuto dinamico : oltre a servire contenuto statico sul tuo sito di hosting, puoi fornire risposte generate dinamicamente da una funzione o un'app containerizzata che esegue la logica lato server.
Ad esempio, puoi puntare un pattern URL (come
/blog/<blog-post-id>
) a una funzione che utilizza il parametro ID del post del blog dell'URL per recuperare il contenuto in modo dinamico dal tuo database.Crea API REST : puoi creare un'API per 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, controlla questo esempio open source .Memorizza contenuto dinamico nella cache : è possibile configurare la memorizzazione nella cache del contenuto dinamico su una rete CDN globale.
Ad esempio, se una funzione genera nuovo contenuto solo periodicamente, puoi velocizzare la tua app memorizzando nella cache il contenuto generato per almeno un breve periodo di tempo. È inoltre possibile ridurre potenzialmente i costi di esecuzione perché il contenuto viene servito dalla CDN anziché tramite una funzione attivata o un'app containerizzata.
Eseguire il prerendering delle app a pagina singola : puoi migliorare la SEO e ottimizzare la condivisione su vari social network creando
meta
tag dinamici. Per saperne di più, guarda questo video o guarda questo esempio open source .
Scegliere un'opzione senza server
Sebbene sia Cloud Functions per 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 ( Cloud Functions per Firebase o Cloud Run ).
Considerazione | Cloud Functions per Firebase | Cloud Run |
---|---|---|
Impostare | La CLI 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, compilazione e distribuzione richiedono passaggi distinti. |
Ambiente di runtime | Richiede Node.js, ma puoi specificare quale versione di Node.js utilizzare (attualmente, versione 10 o 12). | Quando si crea il contenitore , si specifica l'ambiente di runtime. |
Supporto per linguaggio e framework | JavaScript e TypeScript 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) | 80 richieste simultanee per istanza del contenitore |
Fatturazione | Utilizzo di Cloud Functions Quota di utilizzo gratuita, ma è richiesto un account Cloud Billing . Consulta le domande frequenti su Firebase . | Utilizzo di Cloud Run + archiviazione di Container Registry Quota di utilizzo gratuita, ma è richiesto un account Cloud Billing |