En esta guía se comparan las opciones más recientes y las originales para implementar funciones. Google Cloud Esta página está dirigida a los usuarios que hayan creado funciones con la API Cloud Functions y estén migrando a la API Admin de Cloud Run. En esta página se describen las principales diferencias en varias áreas, como los conceptos, la configuración, la implementación y los activadores y reintentos.
Comparación
Hay dos versiones de Cloud Run Functions:
Cloud Run Functions es la versión más reciente de las funciones, desplegada como un servicio en Cloud Run. Se pueden crear de una de las siguientes formas:
- API Admin de Cloud Run (recomendada): las funciones creadas con esta API (por ejemplo, mediante laGoogle Cloud consola,
gcloud run
, la API REST o Terraform) solo se pueden gestionar con la API Admin de Cloud Run. - API Cloud Functions v2: las funciones creadas con esta API (por ejemplo, mediante
gcloud functions
, la API REST o Terraform) se pueden gestionar con la API Admin de Cloud Run y con la API Cloud Functions v2. Cuando usas esta API, especificas el activador al implementar la función. Consulta cómo desvincular una función de la API v2 para que se pueda gestionar exclusivamente mediante la API Admin de Cloud Run.
- API Admin de Cloud Run (recomendada): las funciones creadas con esta API (por ejemplo, mediante laGoogle Cloud consola,
Cloud Run Functions (1.ª gen.), antes conocido como Cloud Functions (1.ª gen.), es la versión original de las funciones con activadores de eventos, tiempos de ejecución y configurabilidad limitados. Más información
Al desplegar funciones directamente en Cloud Run, estas se compilan automáticamente como contenedores y se despliegan como un servicio de Cloud Run.
Conceptos
En la siguiente tabla se resumen las diferencias conceptuales de las funciones.
Funciones de Cloud Run | Funciones de Cloud Run (1.ª gen.) | |
---|---|---|
Nombre anterior del producto | Cloud Functions (2.ª gen.) | Cloud Functions (1.ª gen.) |
Modelo de recurso | Una función es un servicio de Cloud Run que se despliega desde el código fuente | Se despliega una función a partir del código fuente |
Tipos de terminología de funciones |
|
|
URL de HTTPS asignada | run.app Las funciones creadas con la API Cloud Functions v2 también tienen un endpoint cloudfunctions.net . |
cloudfunctions.net |
Registro de imágenes | Solo Artifact Registry | Artifact Registry o Container Registry (obsoleto) |
Roles de gestión de identidades y accesos para la implementación |
|
|
Infraestructura interna | Cloud Run | Interna de Google |
Modelo de precios | Precios de Cloud Run | Precios de Cloud Run Functions (1.ª gen.) |
Configuración
Cloud Run compila funciones en contenedores y las despliega como servicios. Cuando despliegas una función en Cloud Run, tienes acceso y control totales sobre su comportamiento. Por ejemplo, puedes habilitar la VPC directa, configurar GPUs o usar montajes de volúmenes, entre otras opciones.
En la siguiente tabla se resumen las diferencias de configuración de las funciones:
Funciones de Cloud Run | Funciones de Cloud Run (1.ª gen.) | |
---|---|---|
Tiempo de espera de solicitud |
|
|
Tamaño de instancia | Hasta 16 GiB de RAM con 4 vCPU | Hasta 8 GB de RAM con 2 vCPU |
Simultaneidad | Hasta 1000 solicitudes simultáneas por instancia de función | 1 solicitud simultánea por instancia de función |
División del tráfico | Compatible | No se admite |
Implementación
Desde agosto del 2024, puedes usar Cloud Run para desplegar y gestionar funciones creadas con la API Cloud Functions v2. Como resultado de este cambio:
- Los metadatos de la función, como el ID del tiempo de ejecución y las configuraciones de compilación, se almacenan en la definición del servicio de Cloud Run.
- Puedes editar tu función de forma segura con la API de administración de Cloud Run.
- Puedes usar la definición del servicio de Cloud Run como fuente de información fiable para tu función.
Sin embargo, ten en cuenta que las funciones creadas con la API Admin de Cloud Run no se pueden modificar con la API de Cloud Functions.
En la siguiente tabla se resumen las diferencias en la forma de crear, implementar, editar y gestionar funciones:
Funciones de Cloud Run | Funciones de Cloud Run (1.ª gen.) | |
---|---|---|
Google Cloud consola | Cloud Run | Funciones de Cloud Run (1.ª gen.) |
SDK de Google Cloud |
|
|
API REST |
|
|
Terraform |
|
Activadores y reintentos
En la siguiente tabla se comparan los activadores y los reintentos de las funciones:
Funciones de Cloud Run | Funciones de Cloud Run (1.ª gen.) | |
---|---|---|
Activar e invocar una función | En el caso de las funciones creadas con la API Admin de Cloud Run, especifica los activadores al desplegar la función en la Google Cloud consola o después de desplegar la función cuando usas la CLI de gcloud. En las funciones creadas con la API Cloud Functions v2, los activadores se especifican como parte del despliegue de la función. |
Los activadores se especifican como parte de la implementación de la función. |
Tipos de eventos | Compatibilidad con cualquier tipo de evento admitido por Eventarc, incluidas más de 90 fuentes de eventos a través de los registros de auditoría de Cloud. | Asistencia directa para eventos de 7 fuentes. |
Reintentos | En el caso de las funciones creadas con la API Cloud Run Admin, actualiza la política de reintentos en Eventarc y configura el tema de mensajes fallidos en Pub/Sub. En las funciones creadas con la API Cloud Functions v2, puedes especificar reintentos como parte del despliegue de la función con la marca --retry .
|
Puedes especificar reintentos como parte de la implementación de la función con la marca --retry . |
Desasociar tu función
Las funciones creadas con la API Cloud Functions v2 (por ejemplo, con gcloud functions
, la API REST o Terraform) se pueden separar de su entorno de API. Después de separar una función, solo podrás gestionarla con la API Admin de Cloud Run. Puede que quieras hacerlo si tus cargas de trabajo deben permanecer dentro del límite de la API de run.googleapis.com
para Assured Workloads o para asegurarte de que tus cargas de trabajo usan la SKU de Cloud Run.
Consulta más información en Gestionar funciones.
Siguientes pasos
- Consulta la guía de inicio para desplegar una función de Cloud Run.