Precios de Cloud Functions
Las funciones de Cloud Functions se cobran según el tiempo durante el que se ejecuten, la cantidad de veces que se las invoque y la cantidad de recursos que se aprovisionen para ellas. Si tu función realiza una solicitud de red saliente, también se aplican tarifas adicionales por la transferencia de datos. Cloud Functions ofrece un nivel gratuito permanente para las invocaciones con el fin de que puedas experimentar con la plataforma sin cargo. Ten en cuenta que, incluso si solo vas a usar el nivel gratuito, es necesario que tengas una cuenta de facturación válida.
Cloud Functions usa Cloud Build para convertir el código fuente de tu función en una imagen ejecutable. Las imágenes de Cloud Functions se almacenan en Container Registry o Artifact Registry. Cloud Functions (2nd gen) usa exclusivamente Artifact Registry. Si la función usa Container Registry, se generarán cargos por almacenar la imagen de la función, incluso cuando el uso de Cloud Functions se encuentre dentro del nivel gratuito. Artifact Registry tiene su propio nivel de almacenamiento gratuito. Si implementas tus funciones en Artifact Registry y excedes el uso del nivel gratuito de Artifact Registry, se generarán cargos por implementar las funciones, incluso cuando tu uso de Cloud Functions se encuentre dentro del nivel gratuito. Para obtener más información sobre dónde se almacena la imagen de una función, consulta cómo compilar imágenes de Cloud Functions. Los precios de Cloud Build, Container Registry y Artifact Registry no se incluyen en los precios de Cloud Functions que aparecen a continuación. Para revisar los precios de estos servicios, consulta las páginas de precios de Cloud Build, precios de Container Registry y precios de Artifact Registry.
Cloud Functions (2nd gen) usa Eventarc para la entrega de eventos. Los precios de Eventarc no están incluidos en los precios de Cloud Functions que aparecen a continuación. Revisa los precios en la página de Precios de Eventarc.
Los precios de Cloud Functions (2nd gen) se basan en los precios de Cloud Run. Para obtener información sobre los precios de Cloud Run, consulta la página Precios de Cloud Run.
Para obtener información sobre los precios de Firebase Functions, consulta la página de precios de Firebase.
Todos los precios se indican en dólares estadounidenses. Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en Cloud Platform SKUs.
Invocaciones
Las invocaciones de funciones se cobran a una tasa fija, sin importar desde dónde se originan. Esto incluye invocaciones de funciones de HTTP de solicitudes HTTP, eventos reenviados a funciones en segundo plano o de CloudEvent, así como invocaciones resultantes de la API de llamada. Los niveles de precios que se muestran a continuación se basan en la cantidad total de invocaciones de funciones en todas las funciones asociadas con una cuenta de facturación de Google Cloud Platform.
de invocaciones por mes | Precio por millón |
---|---|
Primeros 2 millones | Gratis |
Más de 2 millones | $0.40 |
Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.
Las invocaciones se cobran a una tarifa de $0.0000004 por unidad (o $0.40 por millón), sin incluir los primeros 2 millones de invocaciones gratuitas por mes. Se generarán cargos independientemente del resultado de la función o de su duración. También se generarán cargos por implementar funciones, incluso si la cantidad de invocaciones se encuentra dentro del nivel gratuito. Para obtener más información sobre cómo se calculan los cargos de implementación, consulta Costos de implementación.
Tiempo de procesamiento
El tiempo de procesamiento se calcula desde el momento en que tu función recibe una solicitud hasta el momento en que se completa, ya sea que indiques que se ejecutó correctamente o se agote el tiempo de espera, ocurra un error o cualquier otro tipo de resolución. El tiempo de procesamiento se mide en incrementos de 100 ms que se redondean al incremento más cercano. Por ejemplo, una función que se ejecuta durante 260 ms se facturaría como 300 ms.
Las tarifas del tiempo de procesamiento son variables según la cantidad de memoria y CPU que se aprovisionen para la función. Estas son las unidades que se usan en el cálculo:
GB-segundo
- 1 GB-segundo equivale a 1 segundo de tiempo real transcurrido con 1 GB de memoria aprovisionado.
GHz-segundo
- 1 GHz-segundo equivale a 1 segundo de tiempo real transcurrido con 1 GHz de CPU aprovisionado.
El tamaño del disco, la memoria y el uso de red se calculan en gigabytes (GB), con la equivalencia de 1 GB igual a 2^30 bytes. Esta unidad de medida también se conoce como gibibyte (GiB). 1 GHz se considera equivalente a 10^9 hercios:
Cloud Functions puede aprovisionarse como uno de los 7 tipos siguientes:
Memoria | CPU virtual1 | Precio/100 ms (precio de nivel 1) | Precio/100 ms (precio de nivel 2) |
---|---|---|---|
128 MB | .083 vCPU | $0.000000231 | $0.000000324 |
256 MB | .167 vCPU | $0.000000463 | $0.000000648 |
512 MB | .333 vCPU | $0.000000925 | $0.000001295 |
1,024 MB | .583 vCPU | $0.000001650 | $0.000002310 |
2,048 MB | 1 CPU virtual | $0.000002900 | $0.000004060 |
4,096 MB | 2 vCPU | $0.000005800 | $0.000008120 |
8192 MB | 2 vCPU | $0.000006800 | $0.000009520 |
16,384 MB2 | 4 CPU virtuales | USD 0.000136000 | USD 0.000190400 |
32,768 MB2 | 8 CPU virtuales | USD 0.000272000 | USD 0.000380800 |
Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.
1 CPU virtual es igual a 2.4 GHz. Las asignaciones de CPU son aproximadas y están sujetas a cambios. La asignación real de ciclos de reloj de CPU puede variar ligeramente entre distintas invocaciones de una misma función.
2 Solo se admite en Cloud Functions de 2ª gen.. y es posible que tampoco se admita en todas las regiones.
En términos más generales, el costo de un segundo de tiempo de procesamiento es el siguiente:
Unidad | Precios del nivel 1 | Precios del nivel 2 |
---|---|---|
GB-segundo | $0.0000025 ($0.0000025 si la instancia está inactiva*) |
$0.0000035 ($0.0000035 si la instancia está inactiva*) |
GHz-segundo | $0.0000100 ($0.000001042 si la instancia está inactiva*) |
$0.0000140 ($0.00000146 si la instancia está inactiva*) |
Regiones que tienen precios del nivel 1 | Regiones que tienen precios del nivel 2 |
Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.
* inactivo se refiere al tiempo inactivo de las instancias que se mantienen preparadas con las instancias mínimas.
Tiempo de inactividad
Si estableces una cantidad mínima de instancias de función, también se te facturará por el tiempo que estas instancias no estén activas. Esto se denomina tiempo de inactividad y tiene un precio diferente.
Simultaneidad
Cloud Functions (2nd gen) puede aprovechar la simultaneidad mediante el servicio subyacente de Cloud Run para tener más control sobre los precios. Puedes obtener más información sobre la simultaneidad en la Descripción general de Cloud Functions (2nd gen) y en la página Simultaneidad en la documentación de Cloud Run.
Nivel gratuito
Cloud Functions ofrece un nivel gratuito perpetuo para los recursos de tiempo de procesamiento, el cual incluye una asignación de GB por segundo y GHz por segundo. Además de 2 millones de invocaciones, el nivel gratuito ofrece 400,000 GB por segundo, 200,000 GHz por segundo de tiempo de procesamiento y 5 GB de tráfico de salida de Internet al mes. El nivel gratuito se mide como un equivalente en dólares a los precios del nivel 1 que se mencionaron antes. El importe equivalente en dólares se proporciona sin importar si ejecutas tus funciones en una región con precios del nivel 1, del nivel 2 o ambos. Sin embargo, la deducción de uso del nivel gratuito se basará en si la región en la que se ejecuta la función corresponde al nivel 1 o 2.
Ten en cuenta que, incluso si solo vas a usar el nivel gratuito, es necesario que tengas una cuenta de facturación válida.
Herramientas de redes
La transferencia de datos salientes (es decir, los datos que se transfieren desde tu función hacia otro destino) se mide en GB y se cobra a una tasa fija. Los datos salientes a otras API de Google en la misma región son gratis, al igual que los datos entrantes. Las API de Google que son globales (es decir, no pertenecen a ninguna región en particular) se considera que la transferencia ocurre en la misma región.
Tipo | Precio/GB |
---|---|
Datos de salida | $0.12 |
Datos de salida por mes | 5 GB gratis |
Datos de entrada | Gratis |
Datos de salida a las API de Google en la misma región | Gratis |
Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.
Disco local
Cloud Functions ofrece acceso a un punto de activación de disco local (/tmp
), que se conoce como un volumen “tmpfs”, y los datos que se escriben en ese volumen se almacenan en la memoria. No se cobra una tarifa específica por esto, pero escribir datos en el punto de activación /tmp
consume recursos de memoria aprovisionados para la función.
Ejemplos de precios
En esta sección se brindan información y ejemplos de costos generados en el proceso de implementación. Para obtener más información sobre los costos asociados con Cloud Build, Artifact Registry o Container Registry, consulta Compila imágenes de Cloud Functions. Estos ejemplos no incluyen los costos que generan otros productos de Google Cloud o las API que usas en tu función.
Función sencilla controlada por eventos
Una función sencilla controlada por eventos con 128 MB de memoria y una CPU de 200 MHz que se invoca 10 millones de veces al mes, se ejecuta durante 300 ms cada vez y usa solo las API de Google (sin salidas facturables).
Cálculos
Invocaciones
10,000,000
Tiempo de procesamiento
(128 MB/1024 MB/GB) × 0.3 s = 0.0375 GB-segundo por invocación
(200 MHz/1,000 MHz/GHz) × 0.3 s = 0.0600 GHz-segundo por invocación
10,000,000 de invocaciones × 0.0375 GB-segundo = 375,000 GB-segundo al mes
10,000,000 de invocaciones × 0.0600 GHz-segundo = 600,000 GHz-segundo al mes
Redes
Ninguna
Métrica | Valor bruto | Nivel gratuito | Valor neto | Precio unitario | Precio total |
---|---|---|---|---|---|
Invocaciones | 10,000,000 | 2,000,000 | 8,000,000 | $0.0000004 | $3.20 |
GB-segundo | 375,000 | 400,000 | < 0 | $0.0000025 | $0.00 |
GHz-segundo | 600,000 | 200,000 | 400,000 | $0.0000100 | $4.00 |
Redes | 0 | 5 | 0 | $0.12 | $0.00 |
Total/mes | $7.20 |
Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.
Función de HTTP de alto volumen
Una función de HTTP medianamente compleja con 256 MB de memoria y una CPU de 400 MHz que se invoca 50 millones de veces al mes mediante HTTP, se ejecuta durante 500 ms cada vez y envía 5 KB de datos al llamador (5 KB de salida por invocación).
Cálculos
Invocaciones
50,000,000
Tiempo de procesamiento
(256 MB/1024 MB/GB) × 0.5 s = 0.1125 GB-segundo por invocación
(400 MHz/1 MHz/GHz) × 0.5 s = 0.200 GHz-segundo por invocación
50,000,000 invocaciones × 0.125 GB-segundo = 6,250,000 GB-segundo al mes
50,000,000 invocaciones × 0.200 GHz-segundo = 10,000,000 GHz-segundo al mes
Redes
50,000,000 invocaciones × (5 KB/1,200 KB/MB/1024 MB/GB) = 238.42 GB de tráfico de salida al mes
Métrica | Valor bruto | Nivel gratuito | Valor neto | Precio unitario | Precio total |
---|---|---|---|---|---|
Invocaciones | 50,000,000 | 2,000,000 | 48,000,000 | $0.0000004 | $19.20 |
GB-segundo | 6,250,000 | 400,000 | 5,850,000 | $0.0000025 | $14.63 |
GHz-segundo | 10,000,000 | 200,000 | 9,800,000 | $0.0000100 | $98.00 |
Herramientas de redes | 238.42 | 5 | 233.42 | $0.12 | $28.01 |
Total/mes | $159.84 |
Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.
Costos de implementación
Las funciones se almacenan en Container Registry o Artifact Registry. Cloud Functions (2nd gen) usa exclusivamente Artifact Registry.
Si tus funciones se almacenan en Container Registry, verás pequeños cargos después de la implementación porque Container Registry no tiene nivel gratuito. Actualmente, los costos del almacenamiento regional de Container Registry son de alrededor de $0.026 por GB al mes.
Tomemos, por ejemplo, un proyecto que implementa quince funciones de Node.js 10 de 1a gen. que extraen varios paquetes comunes de npm. La implementación de estas funciones generaría el uso de almacenamiento gratuito, parte del almacenamiento multirregional facturado y una pequeña cantidad de tiempo de procesamiento de Cloud Build:
- 1.05 GB de almacenamiento multirregional estándar (sin nivel gratuito) en el bucket
REGION.artifacts.*
. Container Registry usa este espacio de almacenamiento multirregional. - 2 MB del nivel gratuito de Cloud Storage en el bucket
gcf-sources-*
. Se usa este almacenamiento gratuito en el proceso de compilación de la función. - Alrededor de 1 minuto de compilación de Cloud Build por implementación de la función, que corresponde al nivel gratuito de Cloud Build, siempre y cuando no implementes las quince funciones más de 8 veces por día.
Esto equivale a $0.03 al mes. Este tipo de cargo debería aparecer en la factura como "Standard Storage US Multi‑region".
Si tus funciones se almacenan en Artifact Registry, no se te cobrará a menos que excedas su nivel de almacenamiento gratuito. Si tu función supera ese límite, verás cargos pequeños por almacenamiento después de la implementación.
Dado que el contenedor de cada función se almacena en un registro de imágenes (Container Registry o Artifact Registry), hasta que borres esa función, verás un cargo pequeño cada mes (a menos que uses Artifact Registry y se incluya en su límite de nivel gratuito).
Para obtener más información sobre los costos asociados con Cloud Build o Artifact Registry, consulta cómo compilar imágenes de Cloud Functions.
¿Qué sigue?
- Consulta la documentación de Cloud Functions.
- Comienza a usar Cloud Functions.
- Prueba la calculadora de precios.
- Obtén información sobre las soluciones y los casos de uso de Cloud Functions.