Selecting between Kubernetes vs AWS ECS

9/16/2019

I'm trying to decide between using Kubernetes vs AWS ECS. From what I have seen Kubernetes seems to have more broader adoption although the learning curve is a bit high. The only comparison I saw was AWS-ECS vs Kubernetes which is a bit old. I would appreciate any feedback on this.

-- tmp dev
amazon-ecs
kubernetes

2 Answers

9/16/2019

I saw a presentation some time ago of a company that based their infrastructure on ECS. One of the conclusions was that things would have been easier if they had used Kubernetes (e.g. with EKS).

The main reason is that the community and tooling around Kubernetes is much bigger than around ECS. You can just find much more tools, talents, custom solutions, books, conferences, and other resources about Kubernetes than about ECS. This makes your life in the end easier when you start implementing things.

-- weibeld
Source: StackOverflow

9/16/2019

Disclaimer: this answer is fully opinionated, so take it with care! :)

BTW you're asking yourself the wrong question: is your business needed to manage a non-fully managed Kubernetes cluster?

If not and you need some Kubernetes functionalities, it's wise to think to adopt a fully managed Kubernetes offer like EKS, AKS and so on according to your required IaaS. This will let you use Kubernetes superpowers without any (SIC) vendor lockin instead of any other CaaS solution like Elastic Container Service.

But if you just need some functionalities (like container autoscaling), probably you have to follow the IaaS vendor solutions: everything depends upon your needs and your business and no further details have been provided, so this discussion would be not so impartial.

UPDATE: upon your latest comment, definitely I would suggest you go fully Kubernetes for a number of reasons.

  1. it's a FOSS project, with strong community and committed to delivering new technologies vendor/provider agnostic
  2. it's backed by CNCF, a branch of the Linux Foundation
  3. Kubernetes allows you to not bind to a vendor-specific solution, making an eventual migration painless
  4. Simplifying local development environment for developers, just using Minikube or K3s of Kubernetes for Docker: no more pain on handling multiple Docker Compose files that differ from production setup.
  5. Adopt the true, cloud-native approach of application development and delivering (but this doesn't mean your legacy applications cannot run on Kubernetes, despite the opposite!)
-- prometherion
Source: StackOverflow