AWS EKS (Amazon Elastic Kubernetes Service) is a managed Kubernetes service on AWS used to run containerized applications with upstream Kubernetes APIs while reducing the operational burden of running the control plane.
- Managed control plane reduces overhead for etcd, API server availability, and Kubernetes version upgrades and patching.
- Multi-AZ control plane design improves resilience and helps meet availability requirements without custom HA control plane engineering.
- IAM integration enables centralized authentication and authorization, including least-privilege pod access via IAM Roles for Service Accounts (IRSA).
- Flexible compute options support managed node groups on EC2 and serverless pods on AWS Fargate for workloads that benefit from reduced node management.
- VPC-native networking with the Amazon VPC CNI integrates pods into subnets and security groups for consistent network segmentation and controls.
- Autoscaling patterns support both workload scaling with HPA and cluster capacity scaling with Cluster Autoscaler or Karpenter.
- Managed add-ons help standardize and maintain core components like CoreDNS, kube-proxy, and the VPC CNI, reducing drift across environments.
- Security controls include private cluster endpoints, encryption with AWS KMS, and control plane audit logging to support compliance needs.
- Observability integrates with CloudWatch and supports OpenTelemetry-based metrics, logs, and traces for platform and application visibility.
- Ecosystem compatibility preserves portability through standard Kubernetes manifests, controllers, and tooling across CI/CD and GitOps workflows.
AWS EKS is commonly used for microservices platforms, internal developer platforms, and data or batch workloads that benefit from Kubernetes scheduling, service discovery, and policy controls. Trade-offs include higher operational complexity than simpler container services and costs tied to worker nodes, networking, and add-ons, so smaller or low-change workloads may be better served by lighter-weight options.
Common alternatives include Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS), and self-managed Kubernetes on EC2. For operational guidance, see EKS Best Practices.