Eyal Manor, Vicepresidente de Ingeniería y Oren Teich, Director de Gestión de Productos.
Tradicionalmente, las propuestas que no incluyen servidor traen consigo desafíos, como un soporte de tiempo de ejecución restringido y el bloqueo de proveedores. Los desarrolladores se enfrentan a menudo así a una decisión difícil: elegir entre la facilidad y velocidad que implica trabajar sin servidores o la flexibilidad y portabilidad que da el hacerlo con contenedores. En Google Cloud, creemos que debería ser posible tener lo mejor de ambos mundos.
Por eso, hoy anunciamos la disponibilidad en fase beta de una nueva oferta de computación sin servidores llamada Cloud Run, que permite ejecutar contenedores HTTP-driven sin tener que preocuparse por la infraestructura. Cloud Run es una propuesta que funcionas completamente sin servidores, encargándose de toda la gestión de la infraestructura, incluyendo el aprovisionamiento, la configuración, el escalado y la gestión de servidores. Aumenta o disminuye automáticamente en cuestión de segundos, incluso se reduce a cero en función del tráfico, lo que garantiza que sólo se pague por los recursos que realmente se utilizan.
Veolia, líder mundial en soluciones optimizadas de gestión de agua, residuos y energía, ya se está beneficiando de Cloud Run: «Cloud Run elimina las barreras en la gestión de plataformas, otorgándonos la libertad de ejecutar nuestras cargas de trabajo personalizadas a un coste menor en una infraestructura rápida, escalable y totalmente gestionada. Nuestro equipo de desarrollo se beneficia de una gran experiencia sin límites y sin tener que preocuparse por nada», señala Hervé Dumas, Director de Tecnología del Grupo, Veolia
Cloud Run también está disponible en GKE, lo que significa que puede ejecutar cargas de trabajo sin servidor en sus clusters GKE existentes. Puede implementar los mismos servicios HTTP stateless en su propio cluster GKE y simultáneamente abstraer conceptos complejos de Kubernetes.
El uso de Cloud Run en GKE también proporciona acceso a la personalización de máquinas, redes de computación de cálculo y la capacidad de trabajar en paralelo con respecto otras cargas de trabajo desplegadas en el mismo clúster. Proporciona tanto la simplicidad de implementación de Cloud Run como la flexibilidad de GKE. Clientes como Airbus Aerial ya están utilizando Cloud Run en GKE para procesar y transmitir imágenes aéreas.
«Con Cloud Run en GKE, podemos ejecutar muchas operaciones de computación para procesar y transmitir imágenes aéreas optimizadas para la nube en mapas web sin preocuparnos de depender de bibliotecas, escalado automático o problemas de latencia». explica Madhav Desetty, Arquitecto Jefe de Software, Airbus Aerial.
Continuamos fortaleciendo nuestra propuesta sin servidores a través de importantes acuerdos con líderes de la industria como Datadog, NodeSource, GitLab y StackBlitz. Estas asociaciones proporcionan soporte de integración para Cloud Run en todas las etapas de monitorización, codificación e implementación de aplicaciones.
Facilitando la portabilidad con Knative
Puede darse la posibilidad de que se quiera ejecutar algunas cargas de trabajo on-premises o a través de varias nubes. Cloud Run se basa en Knative, una API abierta y un entorno de ejecución que te permite llevar a cabo las cargas de trabajo sin servidor en cualquier lugar: administradas de forma completa en Google Cloud Platform, en un clúster GKE propio o en un clúster autogestionado de Kubernetes. Gracias a Knative es fácil empezar con Cloud Run y pasar a Cloud Run en GKE más tarde. También usar Knative en un clúster de Kubernetes y migrar a Cloud Run en el futuro. Al utilizar Knative como plataforma subyacente, es posible mover las cargas de trabajo a través de las plataformas reduciendo sustancialmente los costes del cambio.
Desde su lanzamiento hace ocho meses, Knative ya ha alcanzado la versión 0.5, con más de 50 empresas colaboradoras y 400 colaboradores y más de 3.000 solicitudes de pull. Más información al respecto, aquí.
Mejoras en las funciones de la nube
También hemos pensado en aquellos desarrolladores que buscan conectar de forma rápida y sencilla los servicios en la nube. Google Cloud Functions es una plataforma sin servidores basada en eventos que te permite escribir código que responde a estos, sin preocuparte por la infraestructura subyacente. Cloud Functions hace que sea simple y fácil conectarse a servicios cloud como BigQuery, PubSub, Firebase y muchos más.
Hoy, también anunciamos una serie de características nuevas, que han sido solicitadas con frecuencia, para ayudarte a adoptar funciones de forma sencilla y sin problemas en tu entorno actual:
- Soporte de nuevos lenguajes. Totalmente disponibles: Node.js 8, Python 3.7 y Go 1.11; Node.js 10 en beta, y Java 8 y Go 1.12 en alfa.
- El nuevo Functions Framework de código abierto, disponible para Node.js 10, te ayudará a dar el primer paso hacia la portabilidad de tus funciones. Ahora puedes escribir una función, ejecutarla localmente y hace una imagen del contenedor para ejecutarla en cualquier entorno basado en contenedor.
- Acceso VPC sin servidor, que crea un conector VPC que permite que tu función se comunique con tus recursos GCP existentes que están protegidos por los límites de la red, sin exponer los recursos a Internet. Esta función permite a tu función utilizar Cloud Memorystore, así como cientos de servicios de terceros desplegados desde el GCP Marketplace. Está disponible en versión beta a partir de hoy.
- Pre-function identity proporciona acceso de seguridad al nivel de función más granular y ahora está disponible de forma general.
- Scalling controls, ahora disponibles en versión beta, ayuda a evitar que las funciones de autoescalado saturen a los backends que no se escalan tan rápidamente sin necesidad de un servidor.
Estas funciones proporcionan agilidad y simplicidad para que tus desarrolladores sean más productivos. Pero no todas las aplicaciones necesitan ser divididas en funciones granulares. A veces se desea implementar aplicaciones de gran tamaño, al tiempo que se aprovechan las ventajas de la ausencia de servidores.
Nuevos tiempos de ejecución de segunda generación en App Engine
Google fue pionero en la computación sin servidor hace más de 11 años con App Engine, una plataforma de aplicaciones sin servidor para implementar aplicaciones web y móviles altamente escalables. Desde sus inicios, App Engine ha evolucionado para encontrarse con los desarrolladores donde estén, ya sea añadiendo capacidades o soporte para nuevos tiempos de ejecución.
Hoy anunciamos el soporte para la nueva y segunda generación de tiempos de ejecución: Node.js 10, Go 1.11, y PHP 7.2 disponible de manera general y Ruby 2.5 y Java 11 en alpha. Estos tiempos de ejecución proporcionan una experiencia de desarrollo idiomático, despliegues más rápidos, eliminan restricciones de API anteriores y son compatibles con módulos nativos. El acceso VPC sin servidor mencionado anteriormente también le permite conectarse a sus recursos GCP existentes desde sus aplicaciones de App Engine de una manera más segura sin exponerlos a Internet.
Construye aplicaciones completas sin servidores
Tal vez el mayor beneficio de desarrollar aplicaciones con el enfoque de Google hacia los servicios sin servidor es la facilidad con la que se puede acceder a una pila completa de servicios adicionales. Puedes crear aplicaciones de extremo a extremo aprovechando los servicios a través de bases de datos, almacenamiento, mensajería, análisis de datos, machine learning, asistentes inteligentes y mucho más, sin preocuparte por la infraestructura subyacente. Más información aquí.
Junto con las ofertas de computación flexible y abierta sin servidores de Google Cloud, estos servicios facilitan la creación de soluciones completas que no comprometen la escala ni el rendimiento. Para obtener más información sobre las ofertas sin servidores de Google Cloud, haz clic aquí. Estamos encantados de ver todas las aplicaciones sin servidor que creas en Google Cloud!