GKGulshan Kumar
HomeBlogMigrating from Docker Swarm to AWS EKS:
Kubernetes12 min read

Migrating from Docker Swarm to AWS EKS: What I Learned

GK
Gulshan Kumar
20 January 2025

Why We Moved Away from Swarm


Docker Swarm served us well, but we hit its ceiling: no native HPA, limited observability hooks, and no ecosystem for GitOps tooling.


Migration Phases


Phase 1 — Containerize & Validate

Every service already had a Dockerfile. We focused on:

  • Extracting all config to environment variables
  • Adding health check endpoints `/healthz`

  • Phase 2 — EKS Cluster Setup


    
    eksctl create cluster \
      --name prod-cluster \
      --version 1.29 \
      --nodegroup-name standard \
      --node-type t3.medium \
      --nodes-min 2 --nodes-max 10 \
      --managed
    

    Phase 3 — Helm Charts


    We wrote Helm charts for each service, parameterized by environment. This made staging → prod promotion a one-liner.


    Phase 4 — Observability


  • Prometheus + Grafana for metrics
  • Fluent Bit → Elasticsearch for logs
  • APM for distributed tracing

  • Wins


  • Auto-scaling now handles traffic spikes without manual intervention
  • Deployment velocity increased 2x
  • Rollbacks take < 30 seconds with Helm
  • ← Back to Blog✉️ Discuss this post