Contributors
Travis Langhals, Principal Architect and Migration Practice Lead
Stephen Sadowski, Head of Cloud Engineering and DevOps/Modernization Practice Lead

Kubernetes has become the most popular container orchestration platform for deploying and managing applications in the cloud. AWS’s distribution, Elastic Kubernetes Service (EKS), is their managed Kubernetes service offering. In this blog post, we will compare the advantages and disadvantages of Amazon EKS and vanilla Kubernetes.

Advantages of Amazon EKS

First, Amazon EKS is a managed service, meaning that AWS takes care of much of the underlying infrastructure and configuration. This means that you do not need to worry about setting up Kubernetes clusters, configuring and managing nodes, or installing and managing Kubernetes services. AWS will handle almost all of this for you, allowing you to focus on deploying and managing your applications.

Furthermore, Amazon EKS is integrated with other AWS services, such as EC2 and S3. This allows you to easily integrate your Kubernetes applications with other AWS services, such as databases, file storage, and other services.

Disadvantages of Amazon EKS

One of the disadvantages for some organizations is the financial outlay for EKS. The reality is that Amazon EKS is a managed service, and it does come with an associated per-cluster cost of about $70 just to stand up and run an EKS cluster. Depending on an organization’s operational model, the cost of running EKS clusters can be quite high, as just with on-premises or self-managed vanilla Kubernetes clusters, they require appropriate underlying infrastructure and support.

Another disadvantage of Amazon EKS is that it is not as customizable as vanilla Kubernetes. While you can customize your cluster with plugins and other services, the level of customization is generally limited compared to a vanilla Kubernetes cluster, though Amazon has made some successful attempts to allow for greater customization.

Advantages of Vanilla Kubernetes

The main advantage of vanilla Kubernetes is its flexibility and customization. Unlike Amazon EKS, you can (within reason) build your Kubernetes clusters in any way you want, including deploying new services, customizing network configurations, and more. This allows you to tailor your Kubernetes clusters to your exact needs.

In addition, vanilla Kubernetes can be significantly cheaper than Amazon EKS, as you are not paying for the managed service. This cost may be offset by the additional time and effort spent supporting and maintaining the cluster or clusters, but an experienced team may find this trade-off not only acceptable, but preferable. This may allow you to save money on infrastructure and AWS-related support costs.

Disadvantages of Vanilla Kubernetes

Vanilla Kubernetes can have several downsides that may make it a less than ideal choice for certain users.

One primary disadvantage is its complexity. Kubernetes, especially without a predefined ecosystem, is complex and comes with a steep learning curve for user. Additionally, Kubernetes can be difficult to configure, as it may require significant amounts of configuration and customization to enable each of its features. This can turn out to be a time-consuming process and might require dedicated resources if done incorrectly.

The scalability of managing your own Kubernetes cluster is also worth thinking about. While Kubernetes can scale horizontally, it can be challenging and time-consuming to set up and configure. This can make it difficult to manage larger-scale deployments and increase the time and cost of running Kubernetes.

Finally, the consider the financial aspect of running Kubernetes. The cost of running vanilla Kubernetes can vary depending on the size and complexity of the deployment, and this might not be an ideal option for those with limited resources.

Migrating to EKS

Whether you are interested in containerizing your applications for deployment on Kubernetes for the first time or reducing the amount of time your platform engineering, DevOps, or Systems Reliability Engineering (SRE) teams are spending on supporting and maintaining an existing Kubernetes environment, there may be significant value in migrating to EKS. People and teams can often be an organization’s most expensive investment and freeing them up to work on more meaningful initiatives when compared to supporting Kubernetes deployments can be a real and marked benefit.

Working with cloud infrastructure and combining EKS cluster deployments with modern cloud infrastructure practices that may not be available for on-premises or traditional Kubernetes deployments such as Infrastructure as Code (IaC) and Continuous Integration and Continuous Deployment (CI/CD) may further reduce the operational overhead for Kubernetes.

Finally, if the teams in an organization are already comfortable with Kubernetes, the transition from one target cluster to another can be done with relative ease, after all portability was one of the reasons Kubernetes was invented. EKS reduces the overhead necessary to deploy a new cluster, and with a few tweaks, applications can be deployed to that new cluster very quickly.

If your team, company, or organization is interested in migrating to EKS or even wants to explore the possibility of doing so, please connect with the Uturn team today and schedule a Well-Architected Review or initial consultation with our AWS-certified team.