Skip to content

EKS Auto Mode - An Introduction

The Rafay team just got back late last week from an incredibly busy AWS re:Invent 2024. Congratulations to the EKS Product team led by our friend, Nate Taber for the launch of Auto Mode for EKS.

Since this announcement last week, we have had several customers reach out and ask us for our thoughts on this newly launched EKS Auto Mode service. There are several blogs that already describe "How Auto Mode for EKS works etc". In this blog series, I will attempt to provide perspective on "Why", "Why Now?" and "What this means for the industry".

EKS Auto Mode


Background

The many mutual customers of AWS and Rafay frequently remark that there are too many options to deploy and operate containers on Amazon AWS. Some of the popular ones are described below.

# Option Use Case
1 AWS App Runner Optimized for web applications and APIs that do not require complex architectures or multi-container deployments
2 Elastic Container Service (ECS) Fully managed, AWS native, container orchestration service
3 Elastic Kubernetes Service (EKS) Managed Kubernetes service that allows running Kubernetes on AWS without managing the control plane
4 AWS Fargate Serverless compute engine for containers that works with both ECS and EKS without the need to manage underlying servers
5 AWS Elastic Beanstalk Suitable for deploying web applications without deep container orchestration requirements
6 AWS Lambda for Containers Event-driven applications and microservices requiring rapid scaling
7 Amazon Lightsail Small-scale applications and users seeking an easy entry into container deployments

At first glace, this list of options can be overwhelming for users, the reality is that AWS serves "multiple types" of organizations and users who have very different needs. If you are an enterprise, it is likely best to ignore the AWS proprietary options and standardize on Kubernetes because of the reasons described below:

  1. Standards based (governed by CNCF)
  2. Non-proprietary (no single vendor owns Kubernetes)
  3. Portable (can take their apps to their data centers and multi clouds outside AWS)
  4. Large pool of certified engineers and talent (CNCF certifications)
  5. Large pool of publicly available documentation and content
  6. Extensible and customizable
  7. Supports a very large, dynamic eco-system

Why Auto Mode for EKS?

Although the Kubernetes cluster matters, it is really a "means to and end". It is the standards based Kubernetes API that users really want/need.

It's All About the Kubernetes API. What if users were able to get access to a managed service that simply presented a "Kubernetes API endpoint" and they did not have to worry about anything else?

This is what any managed Kubernetes service such as EKS (or for that matter, AKS from Azure, GKE from GCP or OKE from Oracle) will eventually look like. Auto Mode for EKS is a stepping stone towards this eventual state.


What is Auto Mode for EKS?

In its current form, Auto Mode for EKS takes the current managed control plane and extends it to address the following as a managed service as well i.e. AWS will now manage the following as well with a SLA so that you do not have to. Let's review what are the new things you can now offload to AWS as part of Auto Mode. The image below shows before and after Auto Mode at a conceptual level.

EKS Auto Mode Architecture

Managed Add-Ons

With Auto Mode, AWS will now automatically install and manage core add-ons (i.e. AWS CNI, AWS CSIs, Karpenter, Ingress, CSI etc). These are now technically part of the EKS Managed Control Plane and are invisible to the cluster administrators.

When you upgrade to a new k8s version for the EKS control plane, AWS will automatically update the managed addons, and the worker nodes automatically.

Managed Worker Nodes

You also do NOT need to select AMI and create the ec2 instances. Once a workload is deployed to the cluster, AWS will automatically create the most optimal EC2 instance for the workload.

With Auto Mode, since Karpenter is part of the managed control plane, it will automatically and dynamically select the most optimal compute instances and scale the cluster automatically for capacity as well. This also means that the cluster will be scaled down automatically if utilization is low.

Managed AMIs

With Auto Mode, AWS manages the AMI lifecycle. It is based on Bottlerocket which is also purpose built for running container and extremely secure.

When AWS releases new AMIs for the k8s version your cluster is on, AWS will automatically update the nodes in a rolling deployment (respecting the Kubernetes scheduling constraints you specify).


Who is Auto Mode for?

Note that AWS believes Auto Mode for EKS is big and important enough where they present this as the default option for new EKS cluster creation.

EKS Auto Mode

Is Auto Mode for everyone? Who are the two user types that are a great fit for Auto Mode?

Constantly Falling Behind

Organizations do not want to deal with basic operational aspects such as cluster capacity scaling, right sizing nodes, AMI patching, updating managed add-on versions etc. Because this can become a lot of work for them, they have been falling behind significantly with cluster version upgrades.

AWS cannot support older Kubernetes versions indefinitely. To create an incentive to get users to upgrade faster, AWS was forced to launch an extended support SKU which would cost the user 500% more.

Auto Mode for EKS is a great fit for organizations that are constantly falling behind and unable to keep up with the currently manual tasks?

Proprietary Container Orchestrators

We meet users everyday that currently use proprietary container orchestrators from AWS such as ECS and Fargate. They would very much like to transition/migrate to EKS for all the reasons described above in the background section, but balk at the operational complexity EKS would impose on them.

Auto Mode dramatically simplifies EKS to the point where it is now a great fit for organizations that were forced to use other AWS services such ECS and Fargate because they found EKS too complicated to operate.


Is Auto Mode Free?

Absolutely not! Auto Mode for EKS is NOT FREE. I am specifically calling this out in this blog because every technologist I have spoken with so far as made the incorrect assumption that Auto Mode for EKS is free.

Users should plan to pay a significant premium for EKS clusters operating in this mode. For many organizations, this may be a fair exchange because of the significant value being delivered by AWS for Auto Mode.

Enabling EKS Auto Mode incurs an extra management fee based on the type and duration of Amazon EC2 instances managed by Auto Mode. In the example on AWS's pricing page for EKS, you can see that the application uses a mix of c6a.2xlarge, c6a.4xlarge, m5a.2xlarge, and m5a.xlarge instance types. For this example, the additional management charges for Auto Mode is $125/month.

EKS Auto Mode Pricing

On average, users should assume you will need to pay an additional 12-15% fee to AWS for using Auto Mode.


Conclusion

The introduction of Auto Mode by the EKS is a significant stepping stone towards what a true managed Kubernetes service should look like. In the follow-on blogs, I will cover the following topics wrt. Auto Mode for EKS

  • Considerations for EKS Auto Mode
  • How to provision and manage EKS Auto Mode clusters using Rafay?
  • What can a Kubernetes Management offering such as Rafay add value on top of EKS clusters in Auto Mode?

After an extremely busy and exhausting AWS re:Invent 2024 in Las Vegas, the Rafay team will be back in Las Vegas next week for the Gartner IOCS 2024 conference. Please stop by our booth if you have any questions or would like to talk to us.