Descripción general de Cloud Functions

¿Qué es Google Cloud Functions?

Google Cloud Functions es un entorno de ejecución sin servidores para compilar y conectar servicios en la nube. Con Cloud Functions, puedes programar funciones simples de un solo propósito vinculadas a eventos emitidos desde tu infraestructura y servicios en la nube. Tu función de Cloud Functions se activa cuando ocurre un evento que está bajo observación. Tu código se ejecuta en un entorno completamente administrado, sin necesidad de aprovisionar infraestructura ni preocuparte por administrar servidores.

Puedes escribir Cloud Functions con varios lenguajes de programación admitidos. Puedes ejecutar la función en cualquier entorno de ejecución estándar para uno de los lenguajes compatibles, lo que simplifica la portabilidad y las pruebas locales.

Cloud Functions ofrece dos versiones de producto: Cloud Functions (1st gen), la versión original, y Cloud Functions (2nd gen), una versión nueva compilada en Cloud Run y Eventarc para proporcionar un conjunto de funciones mejorado. Consulta la comparación de versiones de Cloud Functions para obtener más información.

Conecta y extiende los servicios en la nube

Cloud Functions proporciona una capa conectora de lógica que te permite escribir código para conectar y extender tus servicios en la nube. Detecta y responde a la carga de un archivo en Cloud Storage, un cambio de registro o un mensaje entrante en un tema de Pub/Sub. Cloud Functions amplía los servicios en la nube existentes y te permite abordar una mayor cantidad de casos prácticos con una lógica de programación arbitraria. Cloud Functions tiene acceso a la credencial de la cuenta de servicio de Google y, por lo tanto, se autentica sin problemas con la mayoría de los servicios de Google Cloud, como Cloud Vision y muchos otros. Además, es compatible con varias bibliotecas cliente de Google Cloud, lo que facilita aún más este tipo de integraciones.

Eventos y activadores

Los eventos de la nube representan todo lo que ocurre en tu entorno de nube. Pueden ser cambios en la información de la base de datos, la adición de archivos a un sistema de almacenamiento o la creación de una nueva instancia de máquina virtual.

Los eventos ocurren sin importar si decides responder a ellos o no. Las respuestas a los eventos se crean mediante un activador. Un activador es una declaración de tu interés en un evento o conjunto de eventos determinado. Cuando vinculas una función con un activador, puedes capturar eventos y reaccionar ante ellos. Para obtener más información sobre la creación de activadores y cómo asociarlos a tus funciones, consulta Activadores de Cloud Functions.

Sin servidores

Cloud Functions te quita la carga de administrar servidores, configurar software, actualizar marcos de trabajo y aplicar parches en el sistema operativo. Google administra el software y la infraestructura en su totalidad, por lo que tú solo debes agregar el código. Además, el aprovisionamiento de recursos se produce automáticamente en respuesta a los eventos. Esto significa que una función puede pasar de tener unas cuantas invocaciones al día a tener muchos millones sin que tú tengas que hacer nada.

Casos de uso

Las cargas de trabajo asíncronas (como los procesos ETL básicos) o las automatizaciones en la nube (como la activación de compilaciones de aplicación) ya no necesitan su propio servidor ni que un desarrollador las administre de forma manual. Basta con implementar una función vinculada al evento que desees.

La naturaleza precisa y a pedido de Cloud Functions también hace que esta herramienta sea perfecta para las API básicas y los webhooks. Además, el aprovisionamiento automático de extremos HTTP cuando implementas una función de HTTP elimina la necesidad de realizar configuraciones complicadas, como en otros servicios. Consulta la siguiente tabla para ver más casos prácticos comunes de Cloud Functions:

Caso práctico Descripción
Procesamiento de datos/ETL Escucha eventos de Cloud Storage y responde a ellos, como cuando se crea, cambia o quita un archivo. Procesa imágenes, ejecuta transcodificaciones de video, valida y transforma datos, e invoca cualquier servicio en Internet desde tus Cloud Functions.
Webhooks Mediante un activador HTTP simple, responde a eventos que se originen en sistemas de terceros, como GitHub, Slack, Stripe o cualquier otro lugar en el que se puedan enviar solicitudes HTTP.
API básicas Crea aplicaciones a partir de bits de lógica básicos acoplados libremente que se pueden compilar rápido y escalar de forma instantánea. Tus funciones pueden estar controladas por eventos o se pueden invocar directamente mediante HTTP/S.
Backend para dispositivos móviles Usa la plataforma móvil de Google para desarrolladores de apps, Firebase, y escribe tu backend para dispositivos móviles en Cloud Functions. Detecta eventos de Firebase Analytics, Realtime Database, Authentication y Storage, y responde a ellos.
IoT Imagina decenas o cientos de miles de dispositivos que transmiten datos a Pub/Sub y que inician Cloud Functions para procesar, transformar y almacenar datos. Con Cloud Functions, puedes hacer esto sin servidores.

¿Qué sigue?