Despliegue de Aplicaciones Serverless en Google Cloud Platform

Clase 20 de 48Entrenamiento de Google Cloud Platform

Resumen

¿Qué significa "Serverless" en Google Cloud Platform?

El término "serverless" en Google Cloud Platform indica que no necesitas gestionar la infraestructura subyacente para ejecutar tus aplicaciones. Este enfoque te libera de la gestión de servidores, permitiéndote centrar en el desarrollo y despliegue de tu código. Google Cloud Platform ofrece múltiples servicios serverless, como BigQuery para data warehousing, Cloud Storage para almacenamiento de objetos, Cloud Functions, y App Engine, entre otros.

¿Qué servicios serverless ofrece Google Cloud Platform?

App Engine: ¿cuáles son sus características?

App Engine es un servicio serverless en el que puedes desplegar aplicaciones al nivel de HTTP. Esto facilita la migración de aplicaciones existentes y la creación de interfaces de programación o APIs. Algunos casos de uso comunes incluyen:

  • Migración de portales web de lenguajes como PHP, Java, entre otros.
  • Creación de APIs que interactúan con otros servicios.
  • Desarrollo de páginas web dinámicas accesibles desde dispositivos móviles o navegadores.

App Engine soporta diversos lenguajes, como Node.js, Java, Python, Go, Ruby, PHP, C#, y permite traer entornos personalizados.

¿Cómo funciona Google Cloud Functions?

Cloud Functions operan de manera asincrónica, permitiendo eventos o cargas de trabajo sin el manejo de servidores. Algunas aplicaciones prácticas incluyen:

  • Procesamiento de imágenes subidas a Google Cloud Storage (e.g., redimensionamiento, marca de agua, extracción de metadatos).
  • Microservicios de propósito único, por ejemplo, si tienes un servicio de envío de notificaciones por correo.
  • Webhooks que permiten extender la funcionalidad de chatbots como DialogFlow.
  • Transformaciones ligeras de datos y soporte para dispositivos IoT.

Los orígenes de datos disponibles para Cloud Functions incluyen PubSub, Google Cloud Storage y Firebase.

¿Qué ventajas ofrece Cloud Run?

Cloud Run te permite construir contenedores que puedes mover a producción rápidamente. Este servicio es compatible con cualquier lenguaje, biblioteca o dependencia, gracias al uso de contenedores. Las ejecuciones se cobran según el uso y se administran sobre infraestructura de Google o dentro de un clúster de Kubernetes.

Cloud Run ofrece una experiencia consistente a los desarrolladores y la capacidad de desplegar cargas en su clúster o en otros servicios de Kubernetes, favoreciendo la portabilidad mediante knative. El servicio permite que las aplicaciones corran en infraestructuras administadas por Google y en on-premise, ofreciendo flexibilidad en la gestión y despliegue de tus aplicaciones.

¿Por qué elegir servicios serverless en Google Cloud Platform?

Optar por servicios serverless en Google Cloud Platform significa eficiencia y simplicidad. Implica enfocarse en la lógica y código de las aplicaciones mientras Google gestiona la infraestructura. Este enfoque resulta particularmente beneficioso para prototipos rápidos, escalabilidad sin complicaciones, y mantenimiento reducido de infraestructura. Además, las soluciones serverless son escalables automáticamente, cobrando solo por uso real, lo que optimiza costos operativos. En Google Cloud, servicios como App Engine, Cloud Functions y Cloud Run proporcionan diferentes herramientas y capacidades que pueden adecuarse a tus necesidades específicas de proyectos y desarrollo.