<p>I am confused to understand the usage of Kubernetes in AWS, when AWS already has a similar service ECS for a while. ECS also does a good job in container orchestration via json/yaml file. What are the advantages of kubernetes over ECS? </p>

<p>Both are container orchestration services. ECS is very well integrated with other Amazon Web Services. Kubernetes is cloud-neutral. You can find a good overview <a href="https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/" rel="noreferrer">here</a> </p>

<p>Your requirements should tell you which one makes more sense for your needs. Here are some tips to help you understand how each product is positioned. Of course, there's a lot of overlapping and both products are very able to run a production workload.</p>

<p>Go Kubernetes (or <a href="https://aws.amazon.com/eks/" rel="noreferrer">EKS</a>, the AWS Managed Kubernetes service)  if:</p>

<ul>
<li>You want cloud portability;</li>
<li>You want to deploy on-premise;</li>
<li>You want your developers to use the same tools that run your production workload.</li>
</ul>

<p>Go <a href="https://aws.amazon.com/ecs/" rel="noreferrer">ECS</a> (or <a href="https://aws.amazon.com/fargate/" rel="noreferrer">Fargate</a>, its managed version) if:</p>

<ul>
<li><p>You are comfortable configuring AWS (eg: auto-scaling groups, VPCs, elastic load balancers...);</p></li>
<li><p>You already have a workload running on EC2 and is gradually migrating it to containers;</p></li>
<li><p>You look for a service that is easier to learn; </p></li>
</ul>
