Funciones en la nube para Firebase

Cloud Functions para Firebase es un marco sin servidor que le permite ejecutar automáticamente código de backend en respuesta a eventos desencadenados por eventos en segundo plano, solicitudes HTTPS, el SDK de administración o trabajos de Cloud Scheduler. Su código JavaScript, TypeScript o Python se almacena en la infraestructura de Google Cloud y se ejecuta en un entorno administrado. No es necesario administrar ni escalar sus propios servidores.

¿Ya utilizas Cloud Functions en Google Cloud? Obtenga más información sobre cómo Firebase encaja en este panorama.

Empezar Casos de uso

Capacidades clave

Integra funciones de Firebase y conecta Firebase con Google Cloud

Las funciones que escribe pueden responder a eventos generados por varias funciones de Firebase y Google Cloud, desde activadores de autenticación de Firebase hasta activadores de Cloud Storage .

Integre todas las funciones de Firebase utilizando el SDK de administración junto con Cloud Functions e intégrelo con servicios de terceros escribiendo sus propios webhooks. Cloud Functions minimiza el código repetitivo, lo que facilita el uso de Firebase y Google Cloud dentro de su función.
Mantenimiento cero Implemente su código JavaScript, TypeScript o Python en nuestros servidores con un comando desde la línea de comandos. Después de eso, Firebase aumenta automáticamente los recursos informáticos para que coincidan con los patrones de uso de sus usuarios. Nunca tendrá que preocuparse por las credenciales, la configuración del servidor, el aprovisionamiento de nuevos servidores o el desmantelamiento de los antiguos.
Mantiene su lógica privada y segura En muchos casos, los desarrolladores prefieren controlar la lógica de la aplicación en el servidor para evitar manipulaciones en el lado del cliente. Además, a veces no es deseable permitir que ese código se someta a ingeniería inversa. Cloud Functions está completamente aislado del cliente, por lo que puedes estar seguro de que es privado y siempre hace exactamente lo que quieres.

¿Como funciona?

Después de escribir e implementar una función, los servidores de Google comienzan a administrar la función inmediatamente. Puede activar la función directamente con una solicitud HTTP, el SDK de administrador o un trabajo programado o, en el caso de funciones en segundo plano, los servidores de Google escuchan los eventos y ejecutan la función cuando se activa.

A medida que la carga aumenta o disminuye, Google responde escalando rápidamente la cantidad de instancias de servidor virtual necesarias para ejecutar su función. Cada función se ejecuta de forma aislada, en su propio entorno con su propia configuración.

Ciclo de vida de una función en segundo plano

  1. Escribe código para una nueva función, selecciona un proveedor de eventos (como Cloud Firestore) y define las condiciones bajo las cuales se debe ejecutar la función.
  2. Cuando implementas tu función:
    1. Firebase CLI crea un archivo .zip del código de función, que luego se carga en un depósito de Cloud Storage (con el prefijo gcf-sources ) antes de que Cloud Functions cree un repositorio de Artifact Registry (llamado gcf-artifacts ) en su proyecto.
    2. Cloud Build recupera el código de la función y crea la fuente de la función. Puedes ver los registros de Cloud Build en la consola de Google Cloud .
    3. La imagen del contenedor para el código de funciones creadas se carga en un repositorio privado de Artifact Registry en su proyecto (llamado gcf-artifacts ) y se implementa su nueva función.
  3. Cuando el proveedor de eventos genera un evento que coincide con las condiciones de la función, se invoca el código.
  4. Si la función está ocupada manejando muchos eventos, Google crea más instancias para manejar el trabajo más rápido. Si la función está inactiva, las instancias se limpian.
  5. Cuando actualiza la función implementando código actualizado, las instancias de versiones anteriores se limpian junto con los artefactos de compilación en Artifact Registry y se reemplazan por instancias nuevas.
  6. Cuando elimina la función, todas las instancias y archivos zip se limpian, junto con los artefactos de compilación relacionados en Artifact Registry. Se elimina la conexión entre la función y el proveedor de eventos.

Además de escuchar eventos con una función en segundo plano, puede llamar funciones directamente con una solicitud HTTP o una llamada del cliente . También puede activar funciones en un horario fijo o poner en cola funciones de tareas a través del SDK de administración.

Ruta de implementación

Configurar funciones en la nube Instale Firebase CLI e inicialice Cloud Functions en su proyecto de Firebase.
Escribir funciones Escriba código JavaScript, código TypeScript o código Python para manejar eventos de los servicios de Firebase, los servicios de Google Cloud u otros proveedores de eventos.
Funciones de prueba Utilice el emulador local para probar sus funciones.
Implementar y monitorear Habilite la facturación para su proyecto e implemente sus funciones usando Firebase CLI. Puede utilizar Google Cloud Console para ver y buscar en sus registros.

Próximos pasos