Google cloud function GCP


GCF es un servicio de computación sin servidor que permite a los desarrolladores crear y ejecutar funciones de backend de forma escalable y sin preocuparse por la infraestructura subyacente

oscar Escrito por oscar 27 February 2023 660 0

Contenido

¿Qué es GCP?

Google Cloud Functions (GCF) es un servicio de computación sin servidor que permite a los desarrolladores crear y ejecutar funciones de backend de forma escalable y sin preocuparse por la infraestructura subyacente.

Con GCF, los desarrolladores pueden escribir pequeñas piezas de código en lenguajes como JavaScript, Python, Go, Java y más, y luego desencadenar la ejecución de esas funciones en respuesta a eventos específicos, como cambios en un archivo en Google Cloud Storage o la recepción de un mensaje en una cola de Pub/Sub.

Además, GCF se integra sin problemas con otros servicios de Google Cloud Platform (GCP), como Firebase, BigQuery, Cloud Storage y más, lo que lo convierte en una opción atractiva para aquellos que buscan crear aplicaciones escalables y sin preocuparse por la administración de servidores.

Antes de comenzar

Link o recurso Resumen
Registrarse en Cloud Identity
  1. Acceda al sitio web de Cloud Identity en https://cloud.google.com/identity.
  2. Haga clic en el botón "Comience gratis" en la esquina superior derecha de la página.
  3. Si ya tiene una cuenta de Google, inicie sesión en ella. De lo contrario, cree una cuenta de Google para continuar.
  4. Proporcione información de contacto, como su nombre y dirección de correo electrónico, y haga clic en "Siguiente".
  5. Seleccione su país o región y acepte los términos de servicio y la política de privacidad.
  6. Proporcione su información de facturación, como su número de tarjeta de crédito o información de cuenta bancaria. No se le cobrará nada a menos que elija un plan de pago.
  7. Confirme su cuenta haciendo clic en el enlace de confirmación que se enviará a su dirección de correo electrónico.
  8. Inicie sesión en Cloud Identity usando su dirección de correo electrónico y contraseña de Google.
Iniciar sesión en la consola de administración 
  1. Abra un navegador web y vaya a la página de inicio de sesión de GCP Cloud en https://console.cloud.google.com/.
  2. Ingrese su dirección de correo electrónico y contraseña de la cuenta de Google que utiliza para acceder a su cuenta de GCP.
  3. Si tiene habilitada la autenticación de dos factores para su cuenta de Google, ingrese el código de verificación que se le envió a su teléfono o aplicación de autenticación.
  4. Haga clic en el botón "Iniciar sesión".

Después de seguir estos pasos, se le dirigirá a la consola de administración de GCP Cloud, donde podrá administrar sus recursos de GCP y realizar tareas de administración.

Instala la CLI de gcloud

 En el link podrá encontrar a detalle la instalación en los distintos sistemas operativos:

C:\Users\ce\AppData\Local\Google\Cloud SDK>gcloud -v
Google Cloud SDK 336.0.0
beta 2021.04.09
bq 2.0.66
core 2021.04.09
gsutil 4.61
Inicializa la CLI de gcloud

Iniciar sesión en la consola de GCP, los principales comandos son:

Configuración inicial:

gcloud init

Iniciar sesion:

gcloud auth login

Cerrar sesión:

gcloud auth revoke

Seleccionar proyecto:

gcloud config set project <PROJECT_ID>

Crear una función

Para crear la primera función, nos guiaremos del post Guía de inicio rápido de Console para Cloud Functions (2nd gen)  |  Documentación de Cloud Functions  |  Google Cloud donde explica a detalle lo que necesitamos:

1. Buscamos el producto "cloud function".

cloud function

2. Procedemos a crear la función dando click en el boton "Crear funcion".

3. Nos cargara el formulario para configurar la función, vamos a realizar lo siguiente:

Conceptos básicos

Campo Valor a configurar Documentación
Entorno 2ª generación Comparación de versiones de Cloud Functions  |  Documentación de Cloud Functions  |  Google Cloud
Nombre de la función funcion-1 El nombre debe comenzar con una letra, seguida de hasta 62 letras, números, guiones o guiones bajos, y debe terminar con una letra o un número
Región us-central-1 Ubicaciones de Cloud Functions  |  Documentación de Cloud Functions  |  Google Cloud
Activador HTTP Activadores HTTP  |  Documentación de Cloud Functions  |  Google Cloud
Autenticación Permitir invocaciones sin autenticar  

Configuración entorno de ejecución, Tiempo de ejecución

Campo Valor a configurar Documentación
Memoria asignada 256 MB  
CPU 0.167  
Tiempo de espera 60 segundos Si no se completó la Cloud Function en el plazo del tiempo de espera, se finalizará la función. El tiempo de espera predeterminado es de 60 segundos. Para las funciones activadas por Eventarc, el tiempo de espera máximo que se puede especificar es 9 min (540 segundos). Para las funciones activadas por HTTPS, el tiempo de espera máximo que se puede especificar es 60 min (3,600 segundos).
Simultaneidad, cantidad máxima de solicitudes simultáneas por instancia 1 La cantidad máxima de solicitudes simultáneas que pueden llegar a cada instancia de contenedor.
Numero minimo de instancias 0

Vincula la cantidad de instancias que se crean en respuesta a la carga de solicitudes que recibe tu función.

A fin de mejorar el rendimiento, puedes configurar la cantidad mínima de instancias para que sea mayor que 0. Puedes cambiar una cantidad máxima de instancias para casos de uso como la limitación de costos. Los incrementos repentinos de tráfico pueden hacer que se supere el límite de manera temporal.
Numero maximo de instancias 100  
Cuenta de servicio del entorno de ejecución Compute Engine default service account Cuenta de servicio que la función asume como su identidad.

Configuración entorno de ejecución, Compilación

Campo Valor a configurar Documentación
Crear grupos de trabajadores   Según la configuración predeterminada, tu función se compila en los grupos de trabajadores que administra Cloud Build. Para compilarla con otro, selecciona su nombre en el campo que aparece a continuación.

Configuración entorno de ejecución, Conexión

Campo Valor a configurar Documentación
Configuración de entrada Permitir todo el tráfico Controla qué fuentes pueden enviar tráfico a la función.
Configuración de salida, Red Ninguna Controla cómo se enturará el tráfico saliente de la función. Ingresa el nombre del conector para conectar o déjalo vacío para desconectar. El nombre del conector debe tener el siguiente formato completamente calificado:
projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME

Configuración entorno de ejecución, Seguridad

Campo Valor a configurar Documentación
Secretos   Los Secrets te permiten almacenar de manera segura claves de API, contraseñas, certificados y otros datos sensibles. Puedes usar uno o más secretos de Secret Manager en tu servicio. Se puede hacer referencia a los Secrets de varios proyectos si se proporciona su ruta de acceso completa. Activa el Secret como volumen para asegurarte de que se muestre la última versión durante la lectura.

4. Crear el código, tenemos varias opciones:

Campo Valor Documentación
Entorno de ejecución Java

Tenemos los siguientes lenguajes de programación: 

  • .Net
  • Go
  • Java
  • Node JS
  • PHP
  • Python
  • Ruby
Punto de entrada heloHttp El punto de entrada de tu código, p. ej., el nombre de la función exportada.Más información 
Código fuente Editor directo  
Código
const functions = require('@google-cloud/functions-framework');

functions.http('helloHttp', (req, res) => {
  res.send(`Hello ${req.query.name || req.body.name || 'World'}!`);
});

 

 

5. Damos en implementar para crear la función.

Una ves que termine de compilar y ejecutar podemos observar que la funcion se ha creado. Vemos desde el listado de funciones, la funcion recien creada. 

Leyenda

 Al ingresar a la función podemos ver los detalles.

Leyenda

Si ingresamos a la URL o punto de entrada: https://function-1-rn4fxjzr2a-uc.a.run.app


Comentario

Debe aceptar antes de enviar