Opciones de Computación en Google Cloud: Serverless vs Infraestructura

Clase 1 de 19Curso de Google Serverless

Resumen

¿Qué es Serverless y por qué se ha popularizado?

El término "Serverless" ha ganado popularidad en los últimos años, especialmente en el contexto de los despliegues de cargas de trabajo en la nube. Aunque parezca que implica la ausencia de servidores, en realidad es una abstracción que permite a los desarrolladores concentrarse únicamente en su código y lógica, mientras que el proveedor de la nube se encarga de la infraestructura subyacente. Esto no solo simplifica el proceso, sino que también optimiza costos y mejoras la agilidad operativa, pagando solo por el uso efectivo de recursos. Esta metodología ha demostrado ser eficiente tanto en términos económicos como de eficiencia operativa.

¿Cómo se compara Serverless con otras opciones de cómputo?

Infraestructura como servicio

  • Flexibilidad y carga administrativa: Las máquinas virtuales ofrecen una gran flexibilidad, permitiendo personalizar completamente el entorno operativo, pero esto conlleva una carga administrativa significativa. Es necesario gestionar el sistema operativo, las actualizaciones, el control de usuarios y asegurarse de que los recursos sean adecuados para las cargas.

  • Responsabilidad: La administración completa de la infraestructura recae en el usuario, quien debe garantizar que todo funcione correctamente.

Contenedores y orquestación

  • Reducción de carga administrativa: Los contenedores, gestionados por herramientas como Kubernetes, permiten olvidarse del sistema operativo y enfocarse en la aplicación. Aunque existe cierta carga administrativa, esta se reduce cuando se utiliza como un servicio gestionado.

  • Flexibilidad y automatización: Facilitan la orquestación de aplicaciones y reducen la necesidad de gestionar manualmente el entorno operativo.

Plataformas intermedias

  • Google Cloud Run: Ofrece un equilibrio al reducir aún más la carga administrativa, pero con una pérdida leve de flexibilidad. Proporciona características de autoscalado y administración automatizada.

  • Google App Engine (PAAS): Aquí, el desarrollador solo necesita preocuparse por el código. La plataforma maneja la escalabilidad, la seguridad y otras actualizaciones, permitiendo un desarrollo más centrado en el producto final.

Funciones como servicio

  • Código atómico y específico: Ideal para tareas puntuales y específicas. Las funciones se despliegan como unidades autónomas de código, lo que simplifica su integración y ejecución.

  • Ejemplo práctico: Perfecto para integraciones simples o pruebas donde se busca optimizar el tiempo dedicado a pruebas iniciales sin comprometer la infraestructura.

¿Cuáles son las ventajas de elegir Serverless?

  • Agilidad: Permite a los desarrolladores centrarse en el código, reduciendo la necesidad de manejar servidores y lógica de infraestructura.

  • Control de costos: Se paga únicamente por el tiempo y cantidad de cómputo utilizado, no por la infraestructura ociosa.

  • Escalabilidad: Adaptación automática a la demanda sin intervención manual, lo cual es crucial para evitar problemas frente a aumentos súbitos de demanda.

¿Cómo se aplica Serverless en Google Cloud?

En Google Cloud, las funciones sirven como un claro ejemplo de cómo se aplican los principios de Serverless. Este enfoque facilita la ejecución de bloques específicos de código para tareas determinadas, fomentando soluciones más centradas y eficientes. Con servicios como Google Cloud Functions, los desarrolladores pueden ejecutar sus aplicaciones rápidamente sin preocuparse por la infraestructura subyacente.

En resumen, Serverless no solo es una tendencia técnica, sino una estrategia real que optimiza tanto los costos como la eficiencia en la nube. Considera siempre las necesidades específicas de tu proyecto y cómo estas soluciones pueden integrarse de manera óptima en tu entorno de desarrollo. ¡Recuerda que el aprendizaje continuo y la adaptación son clave para el éxito en el cambiante panorama tecnológico actual!