GKE Autopilot Overview and Benefits

Aug 8, 2024

GKE Autopilot Presentation Notes

Introduction

  • Speaker: William Dennis, Product Manager on Google Cloud
  • Topic: GKE Autopilot mode for application delivery and management
  • Co-presenter: Gary (will present demos)

Deployment Options

  • Traditional VM deployment using GCE
  • Serverless deployment with Cloud Run
  • Kubernetes with GKE lies in between
  • Trade-offs:
    • Higher abstraction = easier management
    • Less flexibility in deployment choices

Why Kubernetes?

  • Popular for handling complex requirements:
    • Legacy applications
    • Complex deployments needing persistent disks
  • Power of Kubernetes:
    • Flexible and practical deployment environment
    • Open-source technology for portability
    • Runs on-premise or in different clouds

Kubernetes Components

  • Out-of-the-box components include:
    • Deployment for stateless web apps
    • Stateful sets for custom databases
    • Job objects for batch jobs
    • Daemon sets for agents on nodes
  • Scheduling constructs:
    • Zonal affinity
    • Pod topology spread patterns
    • Priority and preemption for scaling high-priority workloads

Learning Curve

  • Steep learning curve is acknowledged, but:
    • Simple deployments require only learning two constructs: Deployment and Service
    • Powerful tools are necessary for complex deployments
  • Challenges:
    • Need to understand both Kubernetes architecture and GKE platform APIs

Introduction of Autopilot

  • Autopilot versus Standard mode of GKE:
    • Autopilot simplifies cluster creation and management
    • Automates many platform details
  • Cluster creation process is simplified:
    • Minimal configuration needed (cluster name, region, network settings)
    • No node or auto-scaling setup required

Benefits of Autopilot

  • Provisioning of node resources is automated based on workload requirements.
  • Pod-level SLA with three nines availability.
  • Focus on running applications rather than managing infrastructure.
  • Billing model based on pod requests, not node resources:
    • No need for Kubernetes bin packing expertise
    • Easier cost tracking for multi-team setups

Security and Management

  • Strong security posture with GKE hardening guidelines
  • Automatic updates and maintenance options available
  • Pod-level constructs (e.g., Deployments, StatefulSets) still function normally in Autopilot

User Case: Ubi

  • Company: Ubi, a medical technology startup in Japan
  • Benefits seen with Autopilot:
    • Focus on healthcare solutions rather than cluster management

Demo by Gary

  • Objective: Deploy a standard web application with a Redis backend on Autopilot
  • Real-time provisioning of compute resources by Autopilot
  • Successful deployment confirmed with all pods running

Scaling Workloads

  • Scaling options available in GKE Autopilot:
    • Vertical Pod Autoscaler (VPA): adjusts pod sizes based on resource utilization
    • Horizontal Pod Autoscaler (HPA): adjusts the number of pod replicas based on demand
  • HPA can use various metrics, including CPU and custom metrics

Second Demo by Gary

  • Objective: Autoscale a PubSub workload using HPA based on metrics from Google Cloud Monitor
  • Steps:
    • Setup of workload identity for authentication
    • Created a namespace, service account, and PubSub service account
    • Deployment of application and HPA resource configured for unacknowledged messages
  • Demonstrated HPA adjustment in response to load

Conclusion

  • GKE Autopilot significantly reduces overhead in managing Kubernetes clusters
  • Encouragement to explore further through provided links.