● Previously introduced as “Serverless Containers for Cloud Functions” or “GKE serverless add-on” in last year’s Google Cloud Next ● Deploy containerized application to either managed or GKE environment ● Immutable deployment using the concept of “revision” ● Knative backend. No vendor lock ● Scale from 0 What is Cloud Run?
● As easy as gcloud beta run deploy --image [container image] or via Web console How do you deploy to Cloud Run? https://cloud.google.com/run/docs/resource-model
● As easy as gcloud beta run deploy --image [container image] or via Web console ● Immutable deployment using the concept of “revision” How do you deploy to Cloud Run? https://cloud.google.com/run/docs/resource-model
When to use GCF/Run/GKE ? ● GCF: If you can rely on PaaS like Cloud Function ● Run: When you need to consider dependencies, or moving existing container applications ● GKE: When you need to consider network, or your microservice is getting complex
● Mind startup time When scale out, Cloud Run will: retrieve container, start container and run entrypoint command to start the server. Seems like no option to define the number of minimum up container ● Delete temporary files Cloud Run disk system uses in-memory filesystem. If you don’t, will get out-of-memory error eventually and goes to cold start. ● Tune concurrency config Concurrency in Run means “serve multiple requests simultaneously”. Default is 80 and that is the maximum. Cloud Function has a fixed concurrency of 1. Any tips to create an app for Cloud Run?
● “Streaming HTTP and gRPC support is on our roadmap, but it's still a ways out :(“ ● Invoke API Gateway to do translation from gRPC to JSON ● Outbound gRPC/Streaming is support. So you can use Cloud Firestore for example. gRPC? Streaming HTTP?? https://news.ycombinator.com/item?id=19616265