GP - Fotolia
Despite having its own way of doing things, AWS generally responds to user wants and needs. Developers clamored for Kubernetes support within AWS, and the cloud provider responded with Amazon Elastic Container Service for Kubernetes at the 2017 re:Invent conference.
Of course, AWS supported containers long before Elastic Container Service for Kubernetes (EKS) with its Elastic Container Service (ECS). Now, AWS' support of two different orchestrators raises more questions in the container community. What are the differences between EKS and ECS? Also, what are the use cases for these two AWS container services?
ECS vs. EKS
Amazon ECS is a fully managed, scalable container platform. It integrates well with other Amazon cloud services, such as AWS CloudFormation for deployment management, as well as many other open source tools.
Amazon EKS is a container platform that supports Kubernetes. The service provides three master instances that work across three availability zones, which provide high availability. AWS built in resiliency so you don't have to set that up. EKS runs upstream Kubernetes, which means you can connect to it with kubectl in the same way you would if you used self-managed Kubernetes.
Consider your container choices
Your choice between these two AWS container services should depend on your overall container strategy. If you want to support containers in different computing environments, EKS is a more viable choice. Developers can run EKS on premises or on another cloud -- such as Google -- whereas ECS is a proprietary service. But EKS' flexibility and compatibility come at a cost. Kubernetes is not native to AWS, which means you're mostly on your own when you need to bind it to other Amazon cloud services.
Once you understand the benefits of EKS, it's helpful to compare it with ECS. If you enjoy working with AWS as an infrastructure provider, then you might be happier with ECS. Also, ECS' scalability is its best strength. You can run extremely large container workloads on ECS -- much larger than you can on EKS. Moreover, and more importantly, you can easily connect ECS to other Amazon cloud services. If you're an AWS-only shop, ECS provides the path of least resistance.
Your decision around these AWS container services comes down to strategy more than technology. Evaluate your need to move container workloads to non-AWS platforms, as well as the security necessary to achieve that type of deployment. Don't forget about governance, data management and other factors when you ponder your container strategy.
Ultimately, think more about where you're going versus which of these AWS container services to deploy. Both work well -- but only if you understand and account for the limitations and advantages of each.