AWS
Container Orchestration Tools
Container Orchestration Tools = Managing, scaling and deploying containers
- Docker Swarm
- Kubernetes
- Mesos
- Nomad
- ECS(AWS Elastic Container Service)
What is ECS?
- Container Orchestration Service
- Manages the whole container lifecycle(start, re-schedule, load balance)
How does ECS work?

Where are these containers hosted?
ECS hosted onEC2 Instances

But you still have to do:
- Create EC2 instances
- Join to ECS cluster
- Check resources
- Manage Operating System
- Docker Runtime, ECS Agent
ECS with AWS Fargate
If you want AWS to manage both Container Orchestration and Infrastructure Management, here is AWS Fargate.
- Serverless way to launch containers
Tell AWS, Here is my container, please run it.
Pros:
- No need to provision and manage servers.
- on demand
- Only the infrastructure resources needed to run your containers
- pay only for what you use
- Easily scales up/down without fixed resources defined before hand
EC2 Instance Pricing: Pay for whole Server.
Fargate Pricing: How long and how much capacity.
EKS (Elastic Kubernetes Service)
What if you want to use Kubernetes?
Thankfully, AWS has EKS which manages Kubernetes cluster on AWS infrastructure.
Pros:
- Easier to migrate to another platform. e.g. Google Cloud, MS Azure
- Kubernetes is open-source
- Large community

Command
eksctl
Create cluster
eksctl create cluster \
--name kf-demo \
--version 1.19 \
--region us-east-2 \
--with-oidc \
--ssh-access \
--ssh-public-key aws-hictc-kfserving-key \
--nodes 1 \
--node-type m5.large \
--node-volume-size=20 \
--managed
Delete cluster
Delete whole cluster
eksctl delete cluster --name=kf-demo --region=us-east-2
Delete a nodegroup separately using eksctl delete nodegroup
# List EKS Clusters
eksctl get clusters
# Capture Node Group name
eksctl get nodegroup --cluster=<clusterName>
eksctl get nodegroup --cluster=eksdemo1
# Delete Node Group
eksctl delete nodegroup --cluster=<clusterName> --name=<nodegroupName>
eksctl delete nodegroup --cluster=eksdemo1 --name=eksdemo1-ng-public1