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.

Las funciones de Cloud Functions se pueden escribir mediante los entornos de ejecución de JavaScript, Python 3, Go o Java en Google Cloud Platform. Puedes tomar la función y ejecutarla en cualquier entorno estándar de Node.js (Node.js 10 o 12), Python 3 (Python 3.7 o 3.8), Go (Go 1.11 o 1.13) o Java (Java 11), lo que simplifica la portabilidad y las pruebas locales.

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 Eventos y activadores.

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 prácticos

Las cargas de trabajo asíncronas, por ejemplo, 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 haga las conexiones. 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 Detecta 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 y, además, invoca cualquier servicio en Internet desde tu función de 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 aplicaciones, 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.

Próximos pasos