Cloud Run

Cloud Run

Google Cloud Run destaca por su escalabilidad y rentabilidad.

Información básica

  • Modelo: Google Cloud Run es una plataforma informática sin servidor totalmente administrada para contenedores sin estado basados en HTTP. No se trata de un modelo de software tradicional con versiones distintas, sino de un servicio que se actualiza continuamente.

  • Versión: Cloud Run ofrece dos entornos de ejecución: la primera generación, optimizada para arranques en frío rápidos, y la segunda generación, que proporciona compatibilidad total con Linux, mayor rendimiento de CPU y red, y compatibilidad con sistemas de archivos de red. Las funciones de Cloud Run también cuentan con una versión más reciente y una de primera generación.

  • Fecha de lanzamiento: Google Cloud Run se anunció en versión beta el 9 de abril de 2019. Estuvo disponible de forma general (GA) aproximadamente un año después, alrededor de abril de 2020.

  • Requisitos mínimos (para contenedores desplegados): Los contenedores deben estar compilados para Linux de 64 bits, escuchar solicitudes HTTP en el puerto 8080 y no mantener estado.

  • Sistemas operativos compatibles (para contenedores desplegados): Los contenedores pueden utilizar diversas bibliotecas de sistemas operativos y binarios personalizados, normalmente basados en distribuciones Linux de 64 bits.

  • Última versión estable: Como servicio gestionado, Cloud Run se actualiza continuamente. Las últimas funciones y mejoras se implementan periódicamente.

  • Fecha de fin de soporte: No aplicable. Como servicio administrado, Google mantiene y actualiza la plataforma continuamente.

  • Fecha de fin de soporte: No aplicable. Como servicio principal de Google Cloud, se desarrolla y mantiene activamente.

  • Fecha de vencimiento de la actualización automática: No aplicable. La plataforma subyacente es administrada y actualizada automáticamente por Google.

  • Tipo de licencia: Cloud Run opera bajo los Términos de servicio de Google Cloud Platform, con un modelo de facturación de pago por uso.

  • Modelo de implementación: Plataforma sin servidor totalmente administrada para aplicaciones en contenedores. Escala automáticamente las instancias, incluso hasta cero, según el tráfico. También se puede implementar en Google Kubernetes Engine (GKE) o en entornos locales con Cloud Run para Anthos.

Requisitos técnicos

Google Cloud Run es un servicio gestionado, por lo que se aplican requisitos técnicos a las aplicaciones en contenedores implementadas en él.

  • RAM: Configurable desde un mínimo de 128 MiB (entorno de ejecución de primera generación) o 512 MiB (entorno de ejecución de segunda generación) hasta un máximo de 32 GiB por instancia.

  • Procesador: Configurable desde 0,08 vCPU hasta 8 vCPU por instancia. Los trabajos requieren un mínimo de 1 vCPU.

  • Almacenamiento: Las instancias de Cloud Run no mantienen estado. El almacenamiento temporal en memoria está disponible hasta el límite de la RAM asignada. Para el almacenamiento persistente, se requiere la integración con servicios externos de Google Cloud como Cloud Storage, Cloud SQL o Memorystore.

  • Visualización: No aplicable, ya que Cloud Run es un servicio de backend para ejecutar aplicaciones en contenedores.

  • Puertos: Los contenedores desplegados deben escuchar las solicitudes HTTP en el puerto 8080.

  • Sistema operativo: Los contenedores deben compilarse para entornos Linux de 64 bits.

Análisis de los requisitos técnicos

Los requisitos técnicos de Cloud Run se definen por los recursos asignados a cada instancia de contenedor. La flexibilidad de la plataforma permite a los usuarios especificar la CPU y la memoria según las necesidades de la aplicación, desde microservicios que requieren recursos mínimos hasta cargas de trabajo más exigentes. La naturaleza sin estado de las instancias de Cloud Run requiere servicios externos para el almacenamiento persistente de datos, un principio de diseño fundamental para las arquitecturas sin servidor. El requisito de contenedores Linux de 64 bits y la escucha en el puerto 8080 garantiza una amplia compatibilidad con las prácticas estándar de contenerización. La disponibilidad de un entorno de ejecución de segunda generación ofrece un rendimiento mejorado y compatibilidad total con Linux, lo que permite el desarrollo de una gama más amplia de aplicaciones contenerizadas.

Soporte y compatibilidad

  • Última versión: Cloud Run es un servicio gestionado en constante evolución. Admite las imágenes de contenedor y los entornos de ejecución más recientes, con actualizaciones frecuentes. Las funciones de Cloud Run también cuentan con una última versión.

  • Compatibilidad con sistemas operativos: Admite imágenes de contenedores creadas para Linux de 64 bits. Los desarrolladores pueden usar bibliotecas de cualquier sistema operativo dentro de sus contenedores.

  • Fecha de fin de soporte: No aplicable a la plataforma en sí. Google proporciona soporte y mantenimiento continuos para Cloud Run como parte de sus servicios en la nube.

  • Localización: Los servicios de Google Cloud, incluido Cloud Run, están distribuidos globalmente y disponibles en numerosas regiones del mundo, lo que permite diversas implementaciones geográficas.

  • Controladores disponibles: No aplicable. Los desarrolladores incluyen los controladores o dependencias necesarios en sus imágenes de contenedor.

Análisis del estado general de soporte y compatibilidad

Cloud Run ofrece una excelente compatibilidad gracias a su enfoque basado en contenedores, lo que permite a los desarrolladores empaquetar aplicaciones con sus dependencias y entornos de ejecución específicos. Esto minimiza los problemas de compatibilidad que suelen presentarse en los entornos de alojamiento tradicionales. Como servicio totalmente administrado, Google se encarga de la infraestructura subyacente, las actualizaciones y la aplicación de parches, lo que garantiza soporte continuo y alta disponibilidad. La presencia global de la plataforma y sus constantes actualizaciones reflejan un firme compromiso con la compatibilidad y el soporte continuo.

Estado de seguridad

  • Características de seguridad: Aislamiento y sandbox para cada contenedor, escalado automático para mayor resistencia ante picos de tráfico, comunicación segura con HTTPS obligatorio y cifrado TLS en tránsito, sólida integración de gestión de identidades y accesos (IAM), firma y verificación de imágenes de contenedores, escaneo de vulnerabilidades para imágenes de contenedores, registro y monitoreo exhaustivos, protección DDoS y cumplimiento de los estándares de la industria.

  • Vulnerabilidades conocidas: Si bien la plataforma en sí está altamente protegida por Google, pueden surgir vulnerabilidades potenciales debido a imágenes de contenedores inseguras, una gestión inadecuada de secretos, ataques a la cadena de suministro, permisos IAM excesivos, registro y monitoreo inadecuados y una exposición de red mal configurada.

  • Estado en la lista negra: No aplicable al servicio Cloud Run en sí.

  • Certificaciones: Cloud Run cumple con varios estándares y certificaciones de la industria, incluyendo SOC 2, ISO 27001 y HIPAA.

  • Compatibilidad con el cifrado: Los datos en reposo se cifran de forma predeterminada mediante claves de cifrado gestionadas por Google. Se admiten claves de cifrado gestionadas por el cliente (CMEK) a través de Cloud KMS para un mayor control sobre las claves de cifrado de los datos en reposo. Todo el tráfico en tránsito está cifrado.

  • Métodos de autenticación: admite IAM para el control de acceso, cuentas de servicio para la autenticación de máquina a máquina, tokens JWT Bearer, credenciales predeterminadas de la aplicación (ADC) e integración con Identity-Aware Proxy (IAP) para la autenticación de usuarios.

  • Recomendaciones generales: Implemente el principio de mínimo privilegio para los roles de IAM y las cuentas de servicio, utilice Secret Manager para datos confidenciales, aplique HTTPS, proteja los servicios públicos con Cloud Armor, habilite la autorización binaria para la implementación de imágenes de confianza y realice evaluaciones de seguridad periódicas.

Análisis de la calificación general de seguridad

Google Cloud Run cuenta con una alta calificación de seguridad general gracias a su diseño inherente como servicio totalmente administrado que aprovecha la sólida infraestructura de seguridad de Google. Incorpora funciones como aislamiento, escalado automático y cifrado. Sin embargo, la seguridad también depende en gran medida de la configuración del usuario y las buenas prácticas. Las configuraciones incorrectas en IAM, la administración de secretos o el acceso a la red pueden generar vulnerabilidades. Seguir las recomendaciones y buenas prácticas de seguridad de Google es fundamental para mantener un perfil de seguridad sólido.

Rendimiento y puntos de referencia

  • Puntuaciones de referencia: Si bien las puntuaciones de referencia específicas varían considerablemente según la aplicación implementada, Cloud Run está diseñado para un alto rendimiento. El entorno de ejecución de primera generación ofrece tiempos de arranque en frío rápidos, mientras que la segunda generación proporciona un rendimiento de CPU y red más rápido.

  • Métricas de rendimiento en el mundo real: Cloud Run escala automáticamente las instancias, incluso hasta cero, en función del tráfico, lo que garantiza una utilización eficiente de los recursos y una gran capacidad de respuesta. Gestiona los picos repentinos de tráfico sin afectar al rendimiento.

  • Consumo de energía: El modelo de pago por uso y la capacidad de "escalar a cero" significan que los recursos solo se consumen cuando se procesan las solicitudes, lo que conduce a un consumo de energía altamente optimizado.

  • Huella de carbono: Al optimizar el uso de recursos y escalar a cero, Cloud Run contribuye inherentemente a una menor huella de carbono en comparación con los servidores sobreaprovisionados que funcionan continuamente.

  • Comparación con activos similares: Cloud Run ofrece ventajas significativas sobre los modelos tradicionales de Infraestructura como Servicio (IaaS) y las Máquinas Virtuales (VM) al eliminar la gestión de la infraestructura, proporcionar escalado automático y permitir un modelo de facturación de pago por uso. Combina la flexibilidad de los contenedores con los beneficios de la computación sin servidor.

Análisis del estado general del desempeño

Cloud Run ofrece un rendimiento sólido gracias a su rápida capacidad de escalado, incluyendo la reducción a cero instancias cuando están inactivas, lo que optimiza el coste y el uso de recursos. Los arranques en frío, es decir, el tiempo que tarda en crearse una nueva instancia desde cero, suelen ser rápidos, especialmente con el entorno de ejecución de primera generación. El entorno de segunda generación mejora aún más el rendimiento de la CPU y la red. Su naturaleza sin servidor permite que las aplicaciones gestionen cargas fluctuantes de forma eficiente sin intervención manual, lo que lo hace ideal para cargas de trabajo basadas en eventos, aplicaciones web y API.

Reseñas y comentarios de los usuarios

Los comentarios de los usuarios de Google Cloud Run suelen destacar sus puntos fuertes en cuanto a experiencia de desarrollo, escalabilidad y rentabilidad. Los usuarios valoran la capacidad de implementar aplicaciones en contenedores sin gestionar la infraestructura, lo que les permite centrarse en el código. La función de "escalado a cero" se elogia con frecuencia por sus ventajas en cuanto a ahorro de costes, ya que los usuarios solo pagan por los recursos consumidos. La integración de la plataforma con el ecosistema de Google Cloud, incluidos servicios como Secret Manager y Cloud SQL, también se considera una ventaja significativa.

Fortalezas:

  • Facilidad de uso: Simplifica la implementación y la gestión de aplicaciones en contenedores.

  • Escalado automático: Gestiona sin problemas las fluctuaciones del tráfico, aumentando y disminuyendo la escala automáticamente, incluso hasta cero.

  • Rentabilidad: La facturación por uso y la reducción a cero disminuyen significativamente los costes operativos.

  • Flexibilidad: Admite cualquier lenguaje de programación y bibliotecas que puedan ser contenerizadas.

  • Servicio gestionado: Reduce los gastos operativos al abstraer la gestión del servidor.

Debilidades:

  • Falta de estado: Requiere servicios externos para el almacenamiento persistente, lo que puede añadir complejidad a las aplicaciones con estado.

  • Arranques en frío: Si bien suelen ser rápidos, los arranques en frío aún pueden introducir latencia para los servicios a los que se accede con poca frecuencia.

  • Complejidad de la configuración: Las configuraciones de red avanzadas o de recursos específicos a veces pueden ser complejas de configurar.

Casos de uso recomendados: Cloud Run es altamente recomendable para aplicaciones web, API, microservicios, cargas de trabajo basadas en eventos, trabajos por lotes y backends móviles. Su naturaleza sin servidor lo hace especialmente adecuado para aplicaciones con patrones de tráfico variables.

Resumen

Google Cloud Run es una plataforma sin servidor robusta y totalmente administrada, diseñada para implementar y escalar aplicaciones en contenedores. Su principal fortaleza reside en la abstracción de la administración de la infraestructura, lo que permite a los desarrolladores centrarse exclusivamente en el código. Entre sus ventajas clave se incluye el escalado automático, que gestiona de forma eficiente las fluctuaciones de la carga de trabajo y reduce la escala a cero cuando está inactiva, lo que se traduce en un importante ahorro de costes gracias a su modelo de pago por uso. La plataforma admite una amplia gama de aplicaciones en contenedores basadas en Linux de 64 bits, ofreciendo flexibilidad en cuanto a lenguajes y bibliotecas.

La seguridad es una característica fundamental, con aislamiento integrado, entornos aislados (sandboxing), HTTPS obligatorio, una sólida gestión de identidades y accesos (IAM) y compatibilidad con métodos de cifrado avanzados como CMEK. Si bien la plataforma proporciona una base segura, mantener una postura de seguridad sólida requiere que los usuarios implementen las mejores prácticas para la seguridad de las imágenes de contenedores, la gestión de secretos y el control de acceso.

Su rendimiento se caracteriza por una asignación eficiente de recursos y una rápida escalabilidad. Si bien los arranques en frío son un factor a considerar en cualquier plataforma sin servidor, el diseño de Cloud Run minimiza su impacto, especialmente con su entorno de ejecución de primera generación, y ofrece un rendimiento mejorado con la segunda generación. Su huella de carbono se optimiza gracias a su eficiente utilización de recursos.

La principal limitación reside en su naturaleza sin estado, lo que requiere la integración con servicios externos de Google Cloud para el almacenamiento persistente de datos. Esta decisión de diseño, si bien es fundamental para la arquitectura sin servidor, exige una planificación cuidadosa para las aplicaciones con estado. En general, Cloud Run es una excelente opción para implementaciones modernas, escalables y rentables de aplicaciones web, API y microservicios, en particular aquellas con tráfico impredecible.

La información proporcionada se basa en datos de dominio público y puede variar según la configuración específica del dispositivo. Para obtener información actualizada, consulte los recursos oficiales del fabricante.