2. (Rough) Agenda
• “5 years in 5 minutes”
• Hints to some announcements (20 mins ~ )
• no slides, occasionally a Console bird’s-eye view?
• Dive slightly deeper in some other announcements (30 mins ~ )
• a few slides
• Dive deeper in a couple of announcements (50 mins ~ )
• slides + demos
4. Containers options on AWS – over time
Docker
Host
AWS Cloud
AWSmanagedCustomermanaged
5. Containers options on AWS – over time
Amazon ECS
EC2 Container
Instances
Auto Scaling group
2015
ECS API
Docker
Host
AWS Cloud
AWSmanagedCustomermanaged
6. Containers options on AWS – over time
AWS Fargate
Amazon ECS
EC2 Container
Instances
Auto Scaling group
2017
ECS API
Docker
Host
AWS Cloud
AWSmanagedCustomermanaged
7. Containers options on AWS – over time
AWS Fargate
Amazon ECS
EC2 Container
Instances
Auto Scaling group
Worker
nodes
Auto Scaling group
DIY K8S
ECS API
K8s API
Docker
Host
AWS Cloud
AWSmanagedCustomermanaged
8. Containers options on AWS – over time
AWS Fargate
Amazon ECSAmazon EKS
EC2 Container
Instances
Auto Scaling group
Worker
nodes
Auto Scaling group
DIY K8S
2018
K8s API ECS API
K8s API
Docker
Host
AWS Cloud
AWSmanagedCustomermanaged
9. Containers options on AWS – over time
AWS Fargate
Amazon ECSAmazon EKS
EC2 Container
Instances
Auto Scaling group
Managed
Node Groups
Auto Scaling group
Worker
nodes
Auto Scaling group
DIY K8S
2019
K8s API ECS API
K8s API
Docker
Host
AWS Cloud
AWSmanagedCustomermanaged
10. Containers options on AWS – over time
AWS Fargate
Amazon ECSAmazon EKS
EC2 Container
Instances
K8s API ECS API
AWS Cloud
Auto Scaling group
Managed
Node Groups
Auto Scaling group
Worker
nodes
Auto Scaling group
DIY K8S
NEW
Docker
Host
K8s API
AWSmanagedCustomermanaged
11. The EC2 flow at 33,000 feet
Amazon EC2
Customer AccountAWS
VPC
PodService
You have to manage this
capacity (e.g., with ASGs)
Run a container on EC2
for me, please
EC2
Control Plane
ENI
12. The Fargate flow at 33,000 feet
Customer AccountAWS
Control Plane
VPC
AWS Fargate
Run a container on
FARGATE for me, please
You don’t have to
manage capacity
FARGATE
PodService
ENI
13. All Topics we will (at least) mention
• Fargate saving plans (for ECS only) *
• Fargate Spot (for ECS only) *
• ECS Capacity Providers
• ECS CLI v2
• Image Scanning for ECR *
• ECS/ECR for Outpost
• EKS Managed NodeGroups *
• EKS / Fargate
• Public Container Roadmap *
14. Topics we will dive into (to an extent)
• ECS/ECR for Outpost *
• ECS Capacity Providers *
• EKS / Fargate
• ECS CLI v2
15. Topics we will dive into (with a demo)
• ECS CLI v2
• EKS / Fargate
16.
17. Why Outposts?
• Law of Physics (latency sensitive scenarios)
• Law of Economics (massive expensive data transfers)
35. EKS data plane options
Worker nodes only
Amazon EKS
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2
Auto Scaling
Traditional container data plane
Pods
36. EKS data plane options
Mixed mode
Serverless container data plane
NEW
AWS Fargate
Amazon EKS
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2
Auto Scaling
Traditional container data plane
PodsPods
37. EKS data plane options
Fargate only
Serverless container data plane
NEW
AWS Fargate
Amazon EKS
Pods
38.
39. {
"name": profile-a,
"clusterName": mycluster,
"podExecutionRole": iam-role-xyz,
"subnets": subnet-0ad888345,
"selectors": [
{
"namespace": prod,
"labels": {
stack: blue
}
}
]
}
Fargate profile
Simplified deployment flow
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2 Auto
Scaling
AWS Fargate
KubernetesAmazon EKS
Fargate Scheduler
Pod 4
Mutating/
Validating
Webhooks
namespace: prod
labels:
- stack: blue
- profile = profile-a
- schedulerName = fargate-
scheduler
Pod
3
2 namespace: prod
labels:
- stack: blue
1
Pod
40. {
"name": profile-a,
"clusterName": mycluster,
"podExecutionRole": iam-role-xyz,
"subnets": subnet-0ad888345,
"selectors": [
{
"namespace": prod,
"labels": {
stack: blue
}
}
]
}
Fargate profile
Simplified deployment flow
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2 Auto
Scaling
AWS Fargate
KubernetesAmazon EKS
Fargate Scheduler
Pod 4
Mutating/
Validating
Webhooks
namespace: test
1
Pod
2
3
41. How do we pick the size of the pod?
This
CPU Memory
256 (.25 vCPU) 512MB, 1GB, 2GB
512 (.5 vCPU) 1GB, 2GB, 3GB, 4GB
1024 (1 vCPU) 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB
2048 (2 vCPU) Between 4GB and 16GB in 1GB increments
4096 (4 vCPU) Between 8GB and 30GB in 1GB increments
Closest config
(rounded up)
is picked
Fargate task size combinations
MEMCPU
+256MB
Kubernetes components