GKE + Microservices

Managed Kubernetes & microservice deployment — Azure · AWS · GCP

Concept

Managed Kubernetes services let you deploy, scale, and manage containerized microservices without operating the control plane. All three clouds offer fully managed Kubernetes with varying degrees of integration.

Kubernetes Service
Azure Kubernetes Service (AKS)
Amazon EKS
Google Kubernetes Engine (GKE)
Control Plane
Free (Microsoft manages)
$0.10/hr per cluster (AWS manages)
Free (Google manages)
Node Auto-Repair
Yes (self-healing)
Yes (managed node groups)
Yes (auto-repair + auto-upgrade)
Auto-Scaling
Cluster Autoscaler + KEDA
Cluster Autoscaler + Karpenter
Cluster Autoscaler + Node Auto-Provisioning
Workload Identity
Azure AD Workload Identity
IAM Roles for Service Accounts (IRSA)
Workload Identity (GKE Metadata Server)
Service Mesh
Open Service Mesh / Istio addon
AWS App Mesh
Anthos Service Mesh (managed Istio)
Networking
Azure CNI / kubenet / Cilium
AWS VPC CNI / Cilium
GKE Dataplane V2 / Calico

Create GKE Cluster + Deploy Microservice

# Create GKE Autopilot cluster
gcloud container clusters create-auto my-cluster \
  --region=us-central1 \
  --network=my-shared-vpc \
  --subnetwork=my-subnet

# Create deployment
kubectl create deployment payments-api --image=us-central1-docker.pkg.dev/PROJECT/repo/payments:v1 --replicas=3

# Expose as LoadBalancer
kubectl expose deployment payments-api --port=80 --target-port=8080 --type=LoadBalancer

# Create Ingress for path-based routing
kubectl create ingress payments-ingress \
  --class=gce \
  --rule="api.example.com/payments=payments-api:80"

○ Azure — AKS Microservices

Deploy via: Helm, Kustomize, or kubectl. AKS integrates with Azure Container Registry, Azure AD Pod Identity, and Azure Monitor for containers.

CLI:
az aks create -g prod-rg -n my-cluster --node-count 3 --enable-managed-identity

○ AWS — EKS Microservices

Deploy via: Helm, Kustomize, or kubectl. EKS integrates with ECR, IAM Roles for Service Accounts (IRSA), and AWS Load Balancer Controller.

CLI:
eksctl create cluster --name my-cluster --region us-east-1 --nodegroup-name workers --node-type t3.medium --nodes 3

○ GCP — GKE Microservices

Deploy via: Helm, Kustomize, or kubectl. GKE integrates with Artifact Registry, Workload Identity, Cloud Load Balancing, and Cloud Monitoring.