Ofrezca contenido dinámico y aloje microservicios usando Firebase Hosting

Firebase Hosting se integra con opciones informáticas sin servidor, incluidas Cloud Functions para Firebase y Cloud Run. Al usar Firebase Hosting con estas opciones, puedes alojar microservicios dirigiendo solicitudes HTTPS para activar tus funciones y aplicaciones en contenedores para que se ejecuten en un entorno seguro y administrado.

Funciones en la nube para Firebase : escribes e implementas una función, que es un código de backend que responde a un activador específico. Luego, utilizando Firebase Hosting, puede dirigir solicitudes HTTPS para activar la ejecución de su función.

Cloud Run : escribe e implementa una aplicación empaquetada en una imagen de contenedor. Luego, usando Firebase Hosting, puedes dirigir solicitudes HTTPS para activar la ejecución de tu aplicación en contenedores.

Casos de uso

¿Cómo se pueden utilizar las opciones informáticas sin servidor con Firebase Hosting?

  • Ofrece contenido dinámico : además de ofrecer contenido estático en tu sitio de hosting, puedes ofrecer respuestas generadas dinámicamente desde una función o aplicación en contenedores que realiza lógica del lado del servidor.

    Por ejemplo, puede señalar un patrón de URL (como /blog/<blog-post-id> ) a una función que utiliza el parámetro ID de publicación de blog de la URL para recuperar contenido dinámicamente de su base de datos.

  • Cree API REST : puede crear una API de microservicio utilizando funciones.

    Por ejemplo, las funciones pueden manejar la funcionalidad de inicio de sesión de su sitio web. Mientras su sitio web esté alojado en / , cualquier solicitud a /api se redirige a su API de microservicio. Para ver un ejemplo, consulte este ejemplo de código abierto .

  • Almacenar en caché el contenido dinámico : puede configurar el almacenamiento en caché de su contenido dinámico en una CDN global.

    Por ejemplo, si una función genera contenido nuevo solo periódicamente, puede acelerar su aplicación almacenando en caché el contenido generado durante al menos un corto período de tiempo. También puede reducir potencialmente los costos de ejecución porque el contenido se entrega desde la CDN en lugar de a través de una función activada o una aplicación en contenedores.

  • Preprocesar sus aplicaciones de una sola página : puede mejorar el SEO y optimizar el uso compartido en varias redes sociales creando meta dinámicas. Para obtener más información, mire este vídeo o consulte este ejemplo de código abierto .

Elegir una opción sin servidor

Si bien tanto Cloud Functions para Firebase como Cloud Run se integran con Firebase Hosting y ofrecen un entorno sin servidor totalmente administrado, de escalamiento automático y seguro, las dos opciones se pueden aprovechar para diferentes casos de uso y el nivel deseado de configuración personalizada.

Cuando utilice cualquiera de las opciones sin servidor, es mejor ubicarla junto con los servidores de Firebase Hosting implementándola en una de las siguientes regiones:

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

La siguiente tabla describe algunas consideraciones básicas para usar Cloud Functions para Firebase frente a Cloud Run. Para obtener una lista completa de cuotas, límites y métricas, consulte la documentación detallada de cada producto ( Cloud Functions para Firebase o Cloud Run ).

Consideración Funciones en la nube para Firebase Ejecutar en la nube
Configuración Firebase CLI agrupa varias tareas en comandos únicos, desde la inicialización hasta la compilación y la implementación. Los contenedores ofrecen opciones más personalizables, por lo que las tareas de configuración, construcción e implementación implican pasos discretos.
Entorno de ejecución Requiere Node.js, pero puede especificar qué versión de Node.js usar. Al construir su contenedor , especifica el entorno de ejecución.
Soporte de lenguajes y marcos

JavaScript y mecanografiado

Se admiten marcos web, como Express.js.

Cualquier lenguaje compatible con Dockerfiles, incluidos Go, Node.js, Python, Java y otros.

Se admiten marcos web para cada idioma.

Tiempo de espera para solicitud de hosting 60 segundos (ver nota a continuación) 60 segundos (ver nota a continuación)
concurrencia 1 solicitud por instancia de función
(sin concurrencia por instancia)
Hasta 1000 solicitudes simultáneas por instancia de contenedor
Facturación Uso de funciones en la nube

Cuota de uso gratuita, pero se requiere una cuenta de facturación de Cloud . Consulte las preguntas frecuentes de Firebase .

Uso de Cloud Run + almacenamiento de Container Registry

Cuota de uso gratuita, pero se requiere una cuenta de facturación en la nube