How Amazon Elastic Container Service is Different from Kubernetes when we want to deploy our dockerize application over it?


I am planning to start my project but a bit confuse between choosing Amazon ECS and Kubernetes perhaps I am really a beginner with Micro-services architecture.

I would really appreciate if someone can show some path for deploying my docker container on a fast easier to handle platform.


-- Prabhat Singh

1 Answer


Here a list of differences from the top of my head:

AWS ECS / Kubernetes:

  • Proprietary AWS implementation / Open source solution

  • Runs on AWS / Supported by most cloud providers and on premise

  • Task Definitions / PODs have different features

  • Runs on your EC2 machines or allows for serverless with Fargate (in beta) / Runs on any cluster of (physical/virtual/cloud) machines running the kubernetes controller.

  • Support for AWS VPCs / Support for multiple networking models

I would also argue that kubernetes has a slightly steeper learning curve but ultimately provides more freedom and is probably a safer bet for the future given the wide adoption.

Features supported in both systems:

  • Horizontal application scalability
  • Cluster Scalability
  • Load Balancing
  • Rolling upgrades
  • Logging (with additional logging systems)
  • Container Health Checks
  • APIs

Amazon has bowed to customer pressure and currently has a managed kubernetes support in beta (EKS).

*edit: EKS is released now - but with an upcharge for the cluster controller nodes, as compared to google GKE for example.

Here is one article about the topic.

-- Oswin Noetzelmann
Source: StackOverflow