- Introducción
- Módulo 1: Introducción a GCP y Cloud Functions
- Módulo 2: Configuración del Entorno
- Módulo 3: Fundamentos de Cloud Functions
- Módulo 4: Cloud Functions y Eventos
- Módulo 5: Desarrollo Avanzado
- Módulo 6: Despliegue y Monitoreo
- Módulo 7: Optimización y Costos
- Módulo 8: Proyecto Final
- Recursos Adicionales
- Conclusión
Bienvenido a esta guía de tutoría de 20 horas sobre Cloud Functions de Google Cloud Platform (GCP). Esta guía está diseñada para proporcionarte un recorrido completo desde los conceptos básicos hasta las prácticas avanzadas en el uso de Cloud Functions.
- Comprender los conceptos fundamentales de Cloud Functions en GCP.
- Configurar y administrar el entorno de desarrollo.
- Desarrollar, desplegar y monitorear funciones serverless.
- Integrar Cloud Functions con otros servicios de GCP.
- Optimizar el rendimiento y los costos.
- Conocimientos básicos de programación (JavaScript, Python, etc.).
- Familiaridad con la línea de comandos.
- Cuenta de Google Cloud Platform (se cubrirá en el Módulo 2).
- ¿Qué es GCP?
- Plataforma de servicios en la nube de Google.
- Principales servicios de GCP
- Compute Engine, App Engine, Cloud Storage, etc.
- ¿Qué son las Cloud Functions?
- Funciones serverless que se ejecutan en respuesta a eventos.
- Ventajas del modelo serverless
- Escalabilidad automática.
- Pago por uso real.
- Procesamiento de imágenes o videos al subirlos a Cloud Storage.
- Respondedores HTTP para aplicaciones web o móviles.
- Integraciones con APIs externas.
Actividad: Investigar y discutir posibles casos de uso en proyectos personales o profesionales.
- Registro en GCP
- Crear cuenta
- Uso del crédito gratuito inicial.
- Creación de un nuevo proyecto en la consola de GCP.
- Habilitación de facturación.
- Descarga e instalación del SDK
- Inicialización y autenticación
gcloud init
- Elección del IDE (Visual Studio Code, IntelliJ, etc.).
- Instalación de extensiones útiles.
Actividad: Configurar el entorno y validar la instalación ejecutando gcloud --version.
- Componentes principales
- Código fuente.
- Configuración de despliegue.
- Anatomía de una función
- Node.js, Python, Go, Java, .NET
- Selección del lenguaje según el caso de uso.
- Funciones desencadenadas por HTTP
- Responden a solicitudes HTTP.
- Funciones basadas en eventos
- Responden a eventos de GCP (Pub/Sub, Cloud Storage).
-
Ejemplo en Node.js:
exports.helloWorld = (req, res) => { res.send('¡Hola, Mundo!'); };
-
Despliegue de la función:
gcloud functions deploy helloWorld --runtime nodejs14 --trigger-http --allow-unauthenticated
-
Prueba de la función:
gcloud functions call helloWorld
Actividad: Desplegar y probar una función "Hello World" en el lenguaje de preferencia.
- ¿Qué son los eventos?
- Acciones o cambios que ocurren en los servicios de GCP.
- Event Triggers
- Configuración de funciones para responder a eventos específicos.
-
Configuración de un tópico de Pub/Sub.
-
Desarrollo de una función que responda a mensajes.
def hello_pubsub(event, context): import base64 if 'data' in event: name = base64.b64decode(event['data']).decode('utf-8') else: name = 'Mundo' print(f'¡Hola, {name}!')
-
Despliegue:
gcloud functions deploy hello_pubsub --runtime python39 --trigger-topic mi-topico
- Configuración de triggers para Cloud Storage.
- Ejemplo: Procesamiento de imágenes al subirlas.
- Desencadenadores en cambios de base de datos.
- Ejemplo práctico.
Actividad: Crear una función que responda a un evento de Pub/Sub o Cloud Storage.
- Uso de archivos
package.json(Node.js) orequirements.txt(Python). - Instalación de dependencias en el entorno de la función.
- Definición de variables de entorno en el despliegue.
gcloud functions deploy myFunction --set-env-vars "KEY=valor" - Acceso a variables en el código.
- Control de acceso con IAM.
- Protección de funciones con autenticación.
- Estructuración del código.
- Manejo de errores y excepciones.
- Logs y seguimiento.
Actividad: Refactorizar una función existente aplicando buenas prácticas.
- Comandos avanzados de despliegue.
- Automatización con scripts.
- Visualización de logs en la consola de GCP.
- Uso de
console.logo equivalentes.
- Creación de métricas personalizadas.
- Configuración de alertas.
- Herramientas de depuración en GCP.
- Estrategias para resolver problemas comunes.
Actividad: Implementar monitoreo en una función y configurar una alerta básica.
- Comprensión del modelo de escalado automático.
- Configuración de límites de concurrencia.
- Análisis de factores que afectan los costos.
- Mejores prácticas para minimizar gastos.
- Revisión de cuotas por defecto.
- Solicitudes de aumento de cuotas si es necesario.
Actividad: Analizar el costo estimado de una función y proponer optimizaciones.
- Definición del proyecto (por ejemplo, una API RESTful).
- Integración de múltiples funciones y servicios de GCP.
- Presentación de soluciones.
- Feedback y mejoras sugeridas.
- Documentación Oficial de Cloud Functions: Cloud Functions Documentation
- Cursos en Línea:
- Comunidades y Foros:
A lo largo de esta tutoría de 20 horas, hemos explorado en profundidad las Cloud Functions de GCP, desde los conceptos básicos hasta las prácticas avanzadas. Has adquirido habilidades para desarrollar soluciones serverless eficientes y escalables.
Próximos Pasos:
- Aplicar lo aprendido en proyectos reales.
- Explorar otros servicios de GCP para ampliar tus habilidades.
- Continuar aprendiendo y manteniéndote actualizado con las novedades de GCP.
¡Gracias por tu participación y éxito en tus futuros proyectos con Google Cloud Platform!
Este material está licenciado bajo la Licencia MIT.
Si tienes alguna pregunta o necesitas más información, no dudes en contactarme a través de correo electrónico o en LinkedIn.
- Versión 1.0 - Creación inicial de la guía.
Esta guía fue creada para fines educativos y debe ser adaptada según las necesidades específicas de la audiencia.