Dung (Donny) Nguyen

Senior Software Engineer

Amazon Elastic Kubernetes Service

AWS EKS (Amazon Elastic Kubernetes Service) is a fully managed Kubernetes service that makes it easy to run, scale, and manage containerized applications using Kubernetes on AWS. It removes the operational burden of running the Kubernetes control plane, so we can focus on building and deploying our applications while AWS handles the availability and scalability of the underlying infrastructure.

Key features and benefits of AWS EKS:

How AWS EKS works:

  1. Create a Cluster: Provision an EKS cluster, which sets up the managed Kubernetes control plane across multiple Availability Zones.
  2. Add Compute: Attach worker nodes using EC2 managed node groups, self-managed nodes, or AWS Fargate profiles.
  3. Deploy Workloads: Use standard Kubernetes manifests or Helm charts to deploy pods, deployments, and services.
  4. Expose and Scale: Expose applications through load balancers and Ingress, and scale automatically based on demand.
  5. Monitor and Manage: Observe cluster and application health with CloudWatch, Container Insights, and Kubernetes-native tooling.

EKS Compute Options:

AWS EKS Use Cases:

EKS vs ECS:

While both EKS and ECS are container orchestration services on AWS, EKS is ideal when we want the flexibility, portability, and rich ecosystem of standard Kubernetes, or when we already have Kubernetes expertise and tooling. ECS offers a simpler, AWS-native experience with less operational complexity, making it a good fit for teams that prefer tighter AWS integration without managing Kubernetes concepts.

By leveraging AWS EKS, we can run production-grade Kubernetes clusters without managing the control plane, achieve high availability and scalability, and take advantage of the broad Kubernetes ecosystem while integrating deeply with AWS services.