Entendiendo la capa gratuita de GCP — Cloud Run
Serie de artículos que te ayudará a sacar el máximo provecho a Google Cloud sin pagar de más, en esta ocasión veremos Cloud Run
Continuando con los servicios de GCP que nos permitirán optimizar nuestro gasto en infraestructura esta tu mejor amigo, Cloud Run, este es un servicio full administrado para la ejecución de contenedores. Capaz de hacerse cargo de tu aplicación en todos los aspectos.
Cloud Run permite desde una imagen Docker, ejecutar un contenedor en modalidad serverless, capaz de escalar desde cero a la cantidad de instancias necesarias para satisfacer la demanda de tu servicio.
Puedes servir el lenguaje que desees mientras sea soportada por la arquitectura de Docker no hay problema.
Dentro de las últimas noticias que nos dio el Cloud Next en Londres es que Cloud Run paso de Beta a GA (General Availability)
Cloud Run y la Capa Gratuita
En teoría podríamos decir que Cloud Run tiene componentes en la capa gratuita de GCP, sin embargo si lo utilizamos en Latino América no podremos hacer exentos de pago, veamos por que.
Como vemos en la imagen anterior Cloud Run cuenta con todos los componentes necesarios para operar de forma completamente gratuita, sin embargo en lo que respecta Networking presenta una limitancia ya que solo cuenta con 1GB de salida de datos hacia Norte América. Por lo tanto si nuestros clientes están en cualquier otro lugar tendremos que pagar aun que son solo moneditas (0,105 USD/GB)
Otro aspecto importante a considera en cuanto al tiempo de uso de CPU del cual los primeros 180.000 segundos son gratuitos, debemos tener en cuenta que siempre redondeará hacia arriba a los próximos 100 milisegundos.
Junto con lo anterior es importante saber la forma en la que se calculan los segundos de computo, ya que si tu instancia estaba escalada a 0 y llega un request esta se inicia y comienza a cobrar hasta que se resuelva el request, sin embargo, si durante el procesamiento del primer request se inicia un segundo request el tiempo de procesamiento que se cobrará sera en total desde que se inicio el primer request hasta que termino de procesar el segundo.
Uso de otros servicios
Para usar Cloud Run de forma óptima es necesario utilizar otros servicios de GCP los cuales tienes su propia capa gratuita y límites.
Google Cloud Build
Ya que Cloud Run trabaja con imágenes Docker es necesario hacer el build de tu Dockerfile y tu código y para esto Cloud Build te da 120 minutos mensuales de construcción de imágenes, una vez creada la imagen Cloud Build puede depositarala en Cloud Container Registry.
Cloud Container Registry
Para realizar el despliegue de un servicio en Cloud Run es necesario elegir una de las imágenes que se encuentran en Cloud Container Registry, el costo de este servicio esta dado por el uso de almacenamiento en Google Cloud Storage de la imágenes almacenadas. Por lo tanto recuerda que para que GCS sea sin costo solo tienes 5GB de storage regional. Por lo tanto te recomiendo que uses un Container Registry Regional como us.gcr.io, del cual según la documentación el despliegue en regiones dentro de us es sin costo.
Cloud DNS
La capacidad de asociar un dominio o subdominio en un par de click a uno de nuestros servicios en Cloud Run es una de la características más llamativas, sin embargo esta característica no forma parte de la capa gratuita sino que se basa en los costos de Cloud DNS los que puedes ver aquí, los cuales rondan los USD $0.40 por millón de request, si que el impacto en los costos debería ser ínfimo.
Hasta qui con Cloud Run, no sin lugar a dudas la versatilidad de este servicio lo volverá tu mejor amigo y siempre es bueno saber a que costos te enfrentas al utilizar este maravilloso servicio.