Exploring the Future Potential of AI-Enabled Smartphone Processors
GKE Tip Series how do i choose between gke standard, autopilot and cloud run
1. AppMod
Tip of the week series
How do I choose between GKE Standard, Autopilot
and Cloud Run?
Sreenivas Makam
2. Control plane
provisioning &
management
Availability &
reliability
Patching &
upgrades
Security &
Networking
configuration
Application platform
Monitoring &
management
Scaling
up & down
DIY Kubernetes Service
Worker nodes
provisioning &
management
Standard mode:
Managed Kubernetes with
configuration flexibility
Autopilot mode:
Optimized Managed Kubernetes
with hands-off experience
Security &
Networking
configuration
Worker nodes
provisioning &
management
Google Kubernetes Engine (GKE)
Modern
application
platform
Modern
application
platform
One GKE - two modes of operation
Mode of operation = level of control over a GKE cluster
3. Cloud Run
Deploy in seconds
Automatic HTTPS, Custom domains
Any language, any library
Portability
Pay-per-use
Run containers on a fully managed environment
4. Comparison
Feature GKE Autopilot Cloud Run
Use Kubernetes manifest to
deploy application
Yes Yes No
Worker nodes responsibility Customer Google Google
Networking and security Managed by the customer Auto-provisioned Auto-provisioned
Autoscaling Managed by the customer Node autoscaling managed by Google. HPA
and VPA for pods managed by customer
Managed by Google
Stateful apps Supported Supported Not supported
SLA Control plane SLA Control plane and pod SLA Service SLA
Resource request Flexible cpu, memory sizes Pod requests are rounded off to 250mcpu
multiples and vcpu to memory ratio allowed
is 1:6.5. Limits set same as requests.
Limited granularity(vcpu-1,2,4
memory starting at 128m)
Pricing Based on worker node count and
sizes. Cluster fee applicable.
Based on Cpu and memory usage of user
scheduled pods. Don’t need to pay for
system pods and OS usage in nodes.
Cluster fee applicable.
Based on Cpu, memory of pods and
number of requests/second. No
cluster fee
5. Deploy application
gcloud run deploy hello-app --region
us-central1 --image
gcr.io/google-samples/hello-app:1.0
--platform managed --cpu=1
--memory=128Mi
gcloud beta container --project
<project> clusters create-auto
"autopilot-cluster-1" --region
"us-central1"
kubectl run hello-server
--image=gcr.io/google-samples/hello-a
pp:1.0 --port=8080 --replicas=2
gcloud beta container --project
<project> clusters create <name>
--region "us-central1"
--no-enable-basic-auth --machine-type
"e2-medium" --num-nodes "3"
--enable-autoscaling --min-nodes "0"
--max-nodes "3"
kubectl run hello-server
--image=gcr.io/google-samples/hello-a
pp:1.0 --port=8080 --replicas=2
Google
Kubernetes
Engine
Google
Kubernetes
Engine with AP
Cloud Run