Firebase Hosting si integra con le opzioni di serverless computing, tra cui Cloud Functions for Firebase e Cloud Run. Utilizzo di Firebase Hosting con queste opzioni, puoi ospitare microservizi indirizzando le richieste HTTPS per eseguire le tue funzioni e le app containerizzate in un ambiente gestito e sicuro.
Cloud Functions for Firebase: scrivi ed esegui il deployment di un'interfaccia , ovvero il codice di backend che risponde a un trigger 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'istanza pacchettizzata in un'immagine container. Quindi, utilizzando Firebase Hosting, può 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 su sul tuo sito Hosting, puoi pubblicare risposte generate dinamicamente da un 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 blog post 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 all'indirizzo
/
, qualsiasi richiesta inviata a/api
viene vengono reindirizzati all'API dei microservizi. 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, può velocizzare la tua app memorizzando nella cache i contenuti generati per almeno un breve un 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. A scopri di più, guarda questo video o fai il check-out questo esempio open source.
Scelta di un'opzione serverless
Anche se Cloud Functions for Firebase e Integrazione di Cloud Run con Firebase Hosting e offrono una soluzione completamente gestita, con scalabilità automatica serverless, le due opzioni possono essere sfruttate per diversi casi d'uso e il livello desiderato di configurazione personalizzata.
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 tabella seguente descrive alcune considerazioni di base per l'utilizzo Cloud Functions for Firebase contro Cloud Run. Per un elenco completo quote, limiti e metriche, consultare 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, da fino alla creazione e al deployment. | I container offrono opzioni più personalizzabili, pertanto le attività di configurazione, creazione e deployment prevedono passaggi distinti. |
Ambiente di runtime | Richiede Node.js, ma puoi specificare quali standard di Node.js. | Quando crei il tuo un container, devi specificare l'ambiente di runtime. |
Supporto di linguaggi e framework | JavaScript e TypeScript I framework web, come Express.js, sono supportati. |
Qualsiasi linguaggio supportato dai Dockerfile, tra cui Go, Node.js, Python, Java e altri Sono supportati i framework web per ogni lingua. |
Timeout per richiesta Hosting | 60 secondi (vedi la nota sotto) | 60 secondi (vedi la nota di seguito) |
Contemporaneità | 1 richiesta per istanza di funzione (nessuna contemporaneità per istanza) |
Fino a 1000 richieste in parallelo per istanza di container |
Fatturazione | Utilizzo di Cloud Functions
Quota di utilizzo senza costi, ma L'account Cloud Billing è obbligatorio. Consulta le Domande frequenti su Firebase. |
Utilizzo di Cloud Run +
Container Registry di spazio di archiviazione
Quota di utilizzo senza costi, ma L'account Cloud Billing è obbligatorio |