Choosing Among AWS ECS, EKS & Fargate for Container Orchestration, Made Easy!
If you wish to manage your own infrastructure for containerization choose ECS else always go for Aws ECS with Fargate. On the other hand if your IT team has Kubernetes experience, EKS should be your choice (Also available using Fargate).

In traditional application development, codes developed in one OS environment often throw exceptions, bugs and errors when deployed in another OS environment.
As coders say, “It runs on my machine”.
To solve this problem containerization has been introduced which involves bundling an application together with its configuration files, libraries, and dependencies required for it to run in an efficient way across different computing environments.
How are these containers hosted on Cloud?
This is how you roll it at ease.
Technology details:
-The granularity starts with containers.
-Containers consisting of app libraries, DB files, config files and dependencies as App A, App B etc.
-The Docker container orchestration service helps these containers to run and manage on the Host OS kernel backed up by the Virtual Machine infrastructure.
How is it done using the following AWS services?
1. AWS ECS: Amazon Elastic Container Service is a managed container orchestration service and the first container orchestration tool offered by AWS.
-It is a fully managed and highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster.
-It is a Docker-compatible service which allows you to run containerized applications on EC2 instances and is an alternative to both Kubernetes and Swarm.
-It pulls Container Images from the AWS ECR (elastic container registry), forms a cluster and runs those containers using AWS Fargate or separate EC2 instances.
2. AWS EKS: Amazon Elastic Kubernetes Service is a fully managed Kubernetes service and the latest offering. It runs maintaining the following architecture.
-It consists of a set of nodes.
-Nodes are Virtual Machines running on AWS using the Kubernetes control plane.
-These nodes are worker machines having the capability to run thousands of app containers, with scaling up and scaling down at ease according to job requirements.
-These sets of Nodes are grouped together into Clusters. The Nodes having similar sets of containers replicated within the Cluster helps in keeping the workload alive even when one Node goes down.
-Within these Clusters a master node is set up and installed with Kubernetes, which manages, monitors and orchestrates the whole ecosystem.
-AWS EKS can be set up using AWS Fargate and also by manually configuring EC2 instances and all the orchestration done by the paid Kubernetes service.
3. AWS Fargate: Amazon Fargate is the serverless compute to just run the containers in place of manually configuring and managing the EC2 instances.
It allocates the right sizing of compute, eliminating the hassle to choose instances and scale clusters. Only pay for the resources required to run your containers, so, no over-provisioning and paying for additional servers.
Hope the above explanations were helpful for choosing the right technology for your containerised applications! If not, let me sort it out for you….
Though ECS and Fargate have a much tighter integration with AWS ecosystem, Kubernetes has a much tighter integration with generic open source ecosystem, enabling you to be more Cloud vendor agnostic.
Here you go…
Containerize your applications and reduce the burden of platform dependencies.
If you wish to manage your own infrastructure for containerization choose ECS else always go for Aws ECS with Fargate. On the other hand if your IT team has Kubernetes experience, EKS should be your choice (Also available using Fargate).