Ir a la consola

Entrega contenido dinámico y aloja microservicios con Firebase Hosting

Firebase Hosting se integra en las opciones de computación sin servidores, incluidos Cloud Functions para Firebase y Cloud Run. Usar Firebase Hosting con estas opciones te permite alojar microservicios mediante el redireccionamiento de solicitudes HTTP para activar las funciones y apps en contenedor a fin de que se ejecuten en un entorno seguro y administrado.

Cloud Functions para Firebase: Escribe e implementa una función, que es código de backend que responde a un activador específico. Luego, usa Firebase Hosting para redireccionar solicitudes HTTPS a fin de activar la función que se debe ejecutar.

Cloud Run: Escribe e implementa una aplicación empaquetada en una imagen de contenedor. Después de hacerlo, puedes usar Firebase Hosting para redireccionar las solicitudes HTTPS a fin de activar la app en contenedor que se debe ejecutar.

Casos prácticos

¿Qué usos puedes dar a las opciones de computación sin servidores con Firebase Hosting?

  • Entrega contenido dinámico: Puedes entregar respuestas generadas de manera dinámica desde una función o app en contenedor que realice tareas lógicas en el servidor, además de entregar contenido estático en tu sitio de Hosting.

    Por ejemplo, puedes orientar un patrón de URL (como /blog/<blog-post-id>) hacia una función que use el parámetro de ID de la entrada de blog de la URL para recuperar contenido de manera dinámica desde tu base de datos.

  • Compila API de REST: Puedes usar las funciones para crear una API de microservicio.

    Por ejemplo, las funciones pueden controlar la funcionalidad de acceso en tu sitio web. Mientras este se aloje en /, cualquier solicitud que se realice a /api se redireccionará a la API de microservicio. Revisa esta muestra de código abierto de ejemplo.

  • Almacena el contenido dinámico en caché: Puedes configurar el almacenamiento en caché de tu contenido dinámico en una CDN global.

    Por ejemplo, si una función genera contenido nuevo solo de manera periódica, puedes almacenar en caché el contenido generado durante un período breve, como mínimo, para acelerar la app. Además, se pueden disminuir potencialmente los costos de ejecución, ya que el contenido se entrega desde la CDN y no desde una función activada o app en contenedor.

  • Procesa las apps de una sola página de manera previa: Puedes crear etiquetas meta dinámicas para mejorar la SEO y optimizar el uso compartido entre diversas redes sociales. Mira este video o revisa esta muestra de código abierto para obtener más información.

Elige una opción sin servidores

Si bien Cloud Functions para Firebase y Cloud Run se integran en Firebase Hosting y ofrecen un entorno sin servidores seguro, con ajuste de escala automático y completamente administrado, ambas opciones se pueden aprovechar en casos prácticos diferentes y su configuración se puede personalizar al nivel deseado.

En la siguiente tabla, se describen algunas consideraciones básicas sobre el uso de Cloud Functions para Firebase en lugar de Cloud Run. Consulta la documentación detallada de cada producto (Cloud Functions para Firebase o Cloud Run) para ver un listado completo de las cuotas, los límites y las métricas.

Consideración Cloud Functions para Firebase Cloud Run
Configuración Firebase CLI agrupa tareas diversas en comandos únicos, desde la inicialización hasta la compilación y la implementación. Los contenedores ofrecen más opciones personalizables, por lo que las tareas de configuración, compilación e implementación implican pasos diferentes.
Entorno de ejecución Requiere Node.js, pero puedes especificar la versión que quieres usar (por el momento, se pueden usar las versiones 6 y 8 de Node). Debes especificar el entorno de ejecución cuando compiles el contenedor.
Lenguajes y marcos de trabajo compatibles

JavaScript y TypeScript

Los marcos de trabajo web, como Express.js, son compatibles.

Se incluye cualquier lenguaje compatible con Dockerfiles, como Go, Node.js, Python, Java y otros.

Los marcos de trabajo web de cada lenguaje son compatibles.

Tiempo de espera para las solicitudes de Hosting 60 segundos (consulta la Nota a continuación) 60 segundos (consulta la Nota a continuación)
Simultaneidad 1 solicitud por instancia de la función
(sin simultaneidad por instancia)
80 solicitudes simultáneas por instancia de contenedor
Facturación Uso de Cloud Functions

Cuota de uso gratuito, no se necesita una cuenta de facturación

Uso de Cloud Run + almacenamiento en Container Registry

Cuota de uso gratuito, pero se necesita una cuenta de facturación