¿Qué es el cómputo sin administración o serverless?
El cómputo sin administración, también conocido como serverless, es un paradigma que ofrece una forma innovadora de administrar aplicaciones en la nube. Este enfoque elimina la necesidad de gestionar infraestructura directa, ya que en su lugar, la infraestructura es administrada por un proveedor de servicios cloud. Los tres pilares fundamentales de este modelo son:
No manejar infraestructura: El usuario no debe preocuparse por los detalles de la infraestructura física.
Seguridad administrada: Se mantiene una responsabilidad compartida sobre ciertos aspectos de seguridad.
Pago por uso: Solo se paga por los recursos realmente utilizados.
¿Cómo se diferencian serverless y contenedores?
Históricamente, serverless y contenedores parecían conceptos opuestos. Sin embargo, serverless es mucho más que funciones; se basa en la ejecución de servicios en respuesta a eventos. Los contenedores permiten escribir código en cualquier lenguaje y con cualquier librería. Se han convertido en un estándar de la industria; de hecho, se estima que para el 2022, más del 75% de las organizaciones ejecutarán aplicaciones contenerizadas, según Gartner. La idea de combinar la portabilidad de los contenedores con los beneficios serverless resulta en una plataforma más flexible y eficiente.
¿Qué beneficios ofrece Google Cloud Run?
Google Cloud Run es un servicio diseñado para ejecutar contenedores de forma totalmente administrada. Entre sus beneficios destacan:
Activación y escalado automático: Se activa con los requests de usuarios y se apaga cuando no hay actividad, ahorrando en costos.
Administración de revisiones de código y configuración: Permite un rollback rápido, lo que mejora la seguridad y la eficiencia del desarrollo.
Soporte para dominios y certificados SSL: Proporcionando un canal seguro HTTPS.
Facilidad de operación: Es sencillo de usar, ideal para equipos pequeños o principiantes.
Cloud Run se fundamenta en KNative, un proyecto open source respaldado por Google, que permite correr contenedores sin preocuparse por la complejidad de la infraestructura subyacente.
¿Cómo se despliega un servicio en Google Cloud Run?
El proceso para desplegar un servicio en Cloud Run es directo y eficiente. A continuación, se explica cómo realizarlo:
Crear un servicio: Desde la consola de Cloud Run, elige "Compute Options" como nombre del servicio y selecciona la región donde se desplegará.
Configurar acceso externo: Para permitir la accesibilidad desde internet.
Seleccionar la imagen de contenedor: Puede ser una ya desplegada en App Engine o un demo disponible en Cloud Run.
Desplegar y manejar tráfico: Una vez desplegada la nueva versión, distribuye el tráfico entre distintas versiones si es necesario.
Cloud Run simplifica el manejo de versiones y autentificación, presentando una URL protegida y permitiendo administrar el tráfico fácilmente entre diferentes versiones de una aplicación.
Ejemplo de YAML para configuración en Cloud Run
apiVersion: serving.knative.dev/v1
kind: Service
metadata:name: example
spec:template:metadata:name: example-00001spec:containers:-image: gcr.io/example/image:latest
Con este YAML, se define cómo está implementado el servicio dentro de un clúster de Kubernetes, que a su vez es administrado por Google.
¿Qué ofrece el despliegue híbrido con Cloud Run?
Cloud Run no solo es útil en ambientes cloud; también permite el despliegue híbrido. Esto implica desplegar contenedores desde Cloud Run en un clúster que el usuario maneja o incluso en instalaciones locales (on-premise). Esta capacidad híbrida democratiza aún más el acceso a soluciones serverless, permitiendo la integración de soluciones en cualquier infraestructura existente.
Este conocimiento sobre el cómputo sin administración y el uso de Google Cloud Run abre muchas oportunidades. Ya sea para desarrolladores que buscan eficiencia, o empresas que desean optimizar sus costos y recursos, serverless se presenta como una opción robusta y adaptable para el futuro del desarrollo tecnológico.
¡Sigue explorando y aprendiendo sobre estas herramientas para maximizar tu éxito en el mundo del desarrollo cloud!
Modelo Operacional -> Sin manejo de Infraestructura + Seguridad Administrada + Pago por uso
Modelo Programático -> Basado en servicios + Basado en eventos + Abierto
Cloud Run: Serverless con portabilidad/contenedores (El estándar de la industria con cualquier tecnología en imágenes)
Se activa en base a request (hasta que tenga una llamada)
Revisiones de código (capaz de rollback)
Dominios propios + SSL
Fácil de operar
A partir de Knative (código libre) que es una abstracción (set de bloques de construcción) de APIs en Kubernetes
Gartner: 2020 mas del 75% correran aplicaciones contenerizadas que es 30% más que hoy
En Google todo corre en contenedores (4 billones por semana)
Hola, llegando a este punto, se me ha hecho muy parecidos app engine y cloud run. Que podrías decir que es un gran diferenciador de estos dos?
En este laboratorio pueden desplegar un sitio web en Cloud Run
Cloud RUN
Lo impresionante es la capacidad de despliegue rapido que usa sin preocuparnos del backstage proporciona a los usuarios similitud en uso de Kubernetes mediante Knative que es lo mas alto de abstracion de la capas superiores de K8s
Serverleess con portabilidad, nade con proyectos Knative.
Escala por request de usuarios
Administra revisiones de código
Dominios propios, certificados SSL
Muy simple y fácil de operar
Knative
Open Source
Permite construir tu propio FaaS/ PaaS
Manera de correr contenedores sin preocuparte de nada más.
Muy buena clase
Si quiero montar una página HTML estática, que solo tenga un formulario para envío de correos para recibir información. ¿Dónde o cual sería el mejor sitio para instalarla en gcloud?
usa cloud run, asi pagas solo por el tiempo de uso de la maquina cuando hacen las peticiones
Para instalar un certificado propio en cloud run donde lo haria
Creo que en este apartado de la documentación lo explican.
Tengo una duda con Cloud Run, y es:
Si tengo toda mi arquitectura montada bajo este esquema, yo puedo tener dominio propio e IP estáticas reservada?
Lo pregunto porque si tengo que tener una VPN con un cliente, no debería haber cambio de IP.
Ahora puede tener un whitelist o ACL para restringir que IPs pueden consumir mi servicio cuando este expuesto en Internet?
CloudRun no soporta VPC o NAT ahora mismo para que se le asigne una ip estatica.
Revisando ofrecen soluciones como crear un bastion y que te puedas conectar mediante proxy.
No, cloud run no da IPs estáticas. Sin embargo, puedes crear un proxy con una VM de Compute Engine y asi podrías tener una IP estática que tú controles.
si el despliegue es por un un proceso por temrinal hay que definir el archivo de configuración de Kubernetes y del docker o gcloud lo hace automatico tambn ?
Menos de un minuto para desplegara con contenedor claro es demo pero es muy rápido, creo que de ahí el nombre jejej
Hola, hola.
Chicos me sale roto el enlace que nos comparte Pablo.
https://www.qwiklabs.com/focuses/5161?parent=catalog
Este problema ha sido recurrente a lo largo del modulo 1. Compute on Google Cloud Platform.
Alguien tiene el enlace correcto?
Pueden poner el nombre del laboratorio de Qwiklab, no me funciona el enlace, ya estoy registrado en Qwiklabs desde abril vengo haciendo laboratorios pero los enlaces de acá no me funcionan, por eso necesito el nombre porque al buscarlos si ya puedo hacerlos. Gracias.
Recientemente estoy usando cloud run y facilita muchisimas tareas de administración, ya no me siento cargado con la administración de los servidores
Hola Pablo, para el tema de el límite de 80 request por container en cloud run. Sabes como se puede mejorar ese límite ? . Realice un stress test y el servicio falla desde pues de los 80 o 100 request.
pero esto es un diseño y contraint propio de cloud run, por lo tanto no escala de la manera adecuada y se vuelve un FAAS económico.