En esta guía, se comparan las opciones Google Cloud más recientes y originales para implementar funciones. Esta página ayuda a quienes anteriormente crearon funciones con la API de Cloud Functions y están realizando la transición a la API de Cloud Run Admin. En esta página, se describen las diferencias clave en varias áreas, como los conceptos, la configuración, la implementación, los activadores y los reintentos.
Comparación
Existen dos versiones de Cloud Run Functions:
Cloud Run Functions, antes conocida como Cloud Functions (2ª gen.), es la versión más reciente de las funciones que puedes implementar como servicio en Cloud Run. La función puede reaccionar a solicitudes HTTP(S) o responder a eventos propagados por activadores basados en Eventarc, como Pub/Sub.
Cloud Run Functions (1ª gen.), antes conocida como Cloud Functions (1ª gen.), es la versión original de las funciones con activadores de eventos y configurabilidad limitados.
Te recomendamos que uses la versión actual de las funciones de Cloud Run, ya que te brinda más flexibilidad y control sobre el tiempo de ejecución de las funciones. Si implementas funciones directamente en Cloud Run, estas se compilarán automáticamente como contenedores y se implementarán 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 (2nd gen) | Cloud Functions (1st gen) |
Modelo de recursos | Una función es un servicio de Cloud Run que se implementa desde el código fuente. | Una función se implementa desde el código fuente |
Terminología de los tipos de funciones |
|
|
URL HTTPS asignada | run.app Las funciones creadas con la API de Cloud Functions (v2) también tienen un extremo cloudfunctions.net . |
cloudfunctions.net |
Registro de imágenes | Solo Artifact Registry | Artifact Registry o Container Registry (obsoleto) |
Roles de IAM para la implementación |
|
|
Infraestructura interna | Cloud Run | Interno de Google |
Modelo de precios | Precios de Cloud Run | Precios de las funciones de Cloud Run (1ª gen.) |
Configuración
Cloud Run compila funciones en contenedores y las implementa como servicios. Cuando implementas una función en Cloud Run, tienes control y acceso completos sobre su comportamiento. Por ejemplo, puedes habilitar la VPC directa, configurar GPUs, usar activaciones de volumen y mucho más.
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 la solicitud |
|
|
Tamaño de la instancia | Hasta 16 GiB de RAM con 4 CPU virtuales | Hasta 8 GB de RAM con 2 CPU virtuales |
Simultaneidad | Hasta 1,000 solicitudes simultáneas por instancia de función | 1 solicitud simultánea por instancia de función |
División del tráfico | Admitido | No compatible |
Implementación
Desde agosto de 2024, puedes usar Cloud Run para implementar y administrar funciones creadas con la API de Cloud Functions (v2). Como resultado de este cambio, sucederá lo siguiente:
- Los metadatos de la función, como el ID del entorno 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 Cloud Run Admin.
- Puedes confiar en la definición del servicio de Cloud Run como la fuente de verdad de tu función.
Sin embargo, ten en cuenta que las funciones creadas con la API de Cloud Run Admin 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 administrar funciones:
Funciones de Cloud Run | Funciones de Cloud Run (1ª gen.) | |
---|---|---|
Consola de Google Cloud | Cloud Run | Funciones de Cloud Run (1ª gen.) |
SDK de Cloud |
|
|
API de 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.) | |
---|---|---|
Cómo activar e invocar una función | En el caso de las funciones creadas con la API de Cloud Run Admin, debes
especificar los activadores como parte de la implementación de la función
en la consola de Google Cloud o después de implementarla cuando uses
gcloud CLI. En el caso de las funciones creadas con la API de Cloud Functions (v2), debes especificar los activadores como parte de la implementación de la función. |
Debes especificar activadores como parte de la implementación de la función. |
Tipos de eventos | Compatibilidad con cualquier tipo de evento compatible con Eventarc, incluidas más de 90 fuentes de eventos a través de los Registros de auditoría de Cloud | Compatibilidad directa para eventos de 7 fuentes. |
Reintentos | En el caso de las funciones creadas con la API de Cloud Run Admin, actualiza la
política de reintento
en Eventarc y configura el
tema de buzón de destino
en Pub/Sub. En el caso de las funciones creadas con la API de Cloud Functions v2, debes especificar los reintentos como parte de la implementación de la función con la marca --retry .
|
Especificas los reintentos como parte de la implementación de la función con la marca --retry . |
¿Qué sigue?
- Prueba la guía de introducción para implementar una función en Cloud Run.