SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive: AWS Fargate
Abby Fuller, Developer Relations, AWS
@abbyfuller
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
First things first: who here is new to containers?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A container is an atomic, self-contained package of software that includes
everything it needs to run (code, runtime, libraries, packages, etc.).
A popular, widely-used container platform is Docker. More on that here:
https://www.docker.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Let’s talk container basics
Docker pull
Docker build
Docker run
Docker tag
Docker push
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why are containers so popular?
Portable
Lightweight
Standardized
Easy to deploy
Along with containers, comes the “monolith to microservices” story:
containers and microservices go hand in hand (more on that in a
second)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
OK, so what are microservices?
”Service oriented architecture
composed of loosely coupled elements
that have bounded contexts.”
- Adrian Cockroft
(This is Adrian)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why do microservices and containers go together?
• One job, one service  container
• Can deploy and scale containers independently
• This means that a high traffic service, like a messaging service,
might need to be scaled frequently, but a low traffic service, like
an internal dashboard, doesn’t need to be scaled at the same
time
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Running one container is easy Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Running many containers is
hard…
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Enter container orchestration tools
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
To avoid doing extra hard work that we don’t have to,
we use container orchestration tools
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
There are few options on AWS for container
orchestration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Today, we’re going to focus on Fargate.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
No
infrastructure
Launch
quickly
Scale easily
Manage
everything at
container level
Resource
based pricing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“When someone asks you for a sandwich, they aren’t
asking you to put them in charge of a global sandwich
logistic chain. They just want a sandwich”
P.S., the sandwich is
Fargate
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why Fargate?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Remember this?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Running one container is easy Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Running many containers is
hard…
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Managing a production container infrastructure can be a lot
of work
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Using ECS made it easier
Scheduling and Orchestration
Cluster Manager Placement Engine
Availability Zone #1 Availability Zone #2 Availability Zone #3
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
But it’s not totally hands off
ECS
AMI
Docker
agent
ECS
agent
ECSTaskECSTask
ECSTaskECSTask
EC2 Instance
ECS
AMI
Docker
agent
ECS
agent
EC2 Instance
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Fargate lets you focus on your application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“When someone asks you for a sandwich, they aren’t
asking you to put them in charge of a global sandwich
logistic chain. They just want a sandwich”
P.S., the sandwich is
Fargate
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Let’s look at that in practice
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
So you want to run a managed container on AWS
1 Choose your orchestration tool
AMAZON CONTAINER SERVICES
2 Choose your launch type
ECS EKS
EC2 FARGATE EC2 FARGATE
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Let’s go back to EC2 mode for a second
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How do the pieces of ECS map back to traditional
workloads?
Instances: standard
EC2 boxes. Once
registered to a Cluster,
your Tasks run here
Services: layer that
manages and places
tasks
Tasks: container wrapper and
configuration around processes
running on the instance
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
So what am I responsible for in ECS?
Instance
s
Servi
ce
Tasks
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
So what am I responsible for in ECS pt 2 ?
• In EC2 mode, you’re responsible for configuring all three of those pieces:
instances, services, and tasks.
• Instances are configured through the ecs-optimized AMI (or your own AMI), and/or
you can configure with EC2 user-data
• Services and Tasks (and containers) are all configured through the ECS API, which
you can either access directly, or go through the CLI. Tasks are defined through
Task Definitions, and Containers are defined through Container Definitions.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How does compute work in ECS?
• Choose your own instance type, with any combination of resources
• Controlled through the Service ASG launch configuration, like with any other
EC2 cluster.
• Supports GPUs, spot instances, RIs, etc.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Running Fargate-mode containers on ECS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A lot of similarities with the basics of ECS
Same Task Definition schema Use ECS APIs to launch
Fargate Containers
Easy migration – Run
Fargate and EC2 launch
type tasks in the same
cluster
Share primitives like VPC,
CloudWatch, IAM with
ECS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
So what am I responsible for in Fargate mode?
Instance
s
Servi
ce
Tasks
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
So what am I responsible for in Fargate mode pt 2?
• In EC2 mode, you’re responsible for configuring services and tasks
• Instances are not configured by you, you can ONLY configure at the container/task
level
• Services and Tasks (and containers) are all configured through the ECS API, which
you can either access directly, or go through the CLI. Tasks are defined through
Task Definitions, and Containers are defined through Container Definitions.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How does compute work in Fargate?
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
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How do I know what to choose?
Depends on your workload.
Fargate: if you can configure with just a Task Definition, and you’re ok with
awsvpc networking mode, try Fargate. Some caveats: can’t exec into the
container, or access the underlying host (this is also a good thing)
EC2 mode: good if you need to customize!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
•Change in networking mode: "networkMode": "awsvpc”
•Only specify container port, no host port:
•"portMappings":
[{"containerPort": ”8081"}]
•No links (only local loopback)
•No ELB Classic, only ALB or NLB. ALB needs to use target type IP, not
instance.
•Launch Type: Fargate
•Windows containers only on EC2, not Fargate
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
requiresCompatibilities
requiresCompatibilities parameter.
"requiresCompatibilities": ["FARGATE"]
You can have tasks that have multiple compatibilities:
"requiresCompatibilities": ["FARGATE”, “EC2”]
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Let’s talk about networking (baby)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Local networking
On a single EC2 instance, two components could communicate via the local,
loopback interface: more commonly known as `localhost` or 127.0.0.1
This bypasses networking interface and lets processes communicate directly
Got it? Good.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
External networking
This covers communication with services that are not part of the same task, or to
external services. This means traffic is (most likely) routed through the internet
through your VPC.
Tasks are launched into subnets, which define traffic rules through routing tables.
• Two types of subnets:
• Public: associated internet gateway
• Private: no direct internet gateway, traffic is routed through NAT (Network
Address Translation)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Traditional Docker networking
Bridge: docker0. This is the default behavior. Containers on the same network can
communicate via IP address. No automatic service discovery. Connect containers
with ---link
None: no network interface, only local loopback (which I’ll explain shortly)
Host: connect to host network (container maps to host)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
awsvpc (the slightly longer version)
With awsvpc, each task is allocated an ENI (Elastic Network Interface)
Containers launched as part of the same task can use the local loopback
interface
With the ENI allocation comes a private IP. Public IPs can also be allocated
(with Fargate).
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Looking for more networking details?
https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/
https://aws.amazon.com/blogs/compute/introducing-cloud-native-networking-for-
ecs-containers/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
If you don’t know now you now (or FAQs)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Q: can I have both EC2 and Fargate tasks?
A: yes, you can run hybrid clusters, or switch back and forth. Tasks can be
compatible with both.
Q: how do I exec into a Fargate container?
Short A: you don’t
Longer A: if it were me, I’d stop the Fargate container and restart as type EC2
for debugging, then switch back over.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Q: why can’t I use my own VPC with the Fargate first run wizard?
A: The wizard is just for learning Fargate concepts and how it works. You
absolutely can (and should) use your own VPC.
Wait what?
The wizard/getting started flow in Fargate will create a VPC and subnets
for you. You can both a) edit the resources created through the wizard,
or launch Fargate tasks into a previously created VPC through the
regular console flow/the CLI.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
I get by with a little help from my friends (CLIs)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CLIs (that I know about) for Fargate/ECS
aws-cli: the official OG. Open source, includes most AWS services.
• More info here: https://aws.amazon.com/cli/
• Github here: https://github.com/aws/aws-cli
ecs-cli: also official, but just for ECS. Supports docker compose files.
• More info here: https://github.com/aws/amazon-ecs-cli
Some good unofficial options:
Fargate cli: https://github.com/jpignata/fargate
Coldbrew cli: https://github.com/coldbrewcloud/coldbrew-cli
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thanks!
@abbyfuller

Más contenido relacionado

La actualidad más candente

Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateAmazon Web Services
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitAmazon Web Services
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAmazon Web Services Japan
 
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...Amazon Web Services
 
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처Amazon Web Services Korea
 
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례Amazon Web Services Korea
 
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정WhaTap Labs
 
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...Amazon Web Services Japan
 
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@EdgeAmazon Web Services Japan
 
AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019Amazon Web Services
 
Managing and governing multi-account AWS environments using AWS Organizations...
Managing and governing multi-account AWS environments using AWS Organizations...Managing and governing multi-account AWS environments using AWS Organizations...
Managing and governing multi-account AWS environments using AWS Organizations...Amazon Web Services
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSAmazon Web Services
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAmazon Web Services Japan
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続Amazon Web Services Japan
 

La actualidad más candente (20)

Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
 
Amazon EKS Deep Dive
Amazon EKS Deep DiveAmazon EKS Deep Dive
Amazon EKS Deep Dive
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
 
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
 
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
 
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
 
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
 
AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019
 
Managing and governing multi-account AWS environments using AWS Organizations...
Managing and governing multi-account AWS environments using AWS Organizations...Managing and governing multi-account AWS environments using AWS Organizations...
Managing and governing multi-account AWS environments using AWS Organizations...
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKS
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
 
Introduction to Amazon EKS
Introduction to Amazon EKSIntroduction to Amazon EKS
Introduction to Amazon EKS
 

Similar a Deep dive - AWS Fargate

Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Amazon Web Services
 
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...Amazon Web Services
 
Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWSAmazon Web Services
 
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS SummitDevelop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS SummitAmazon Web Services
 
Deep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep DiveDeep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep DiveAmazon Web Services
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Amazon Web Services
 
Getting-started-with-containers on AWS
Getting-started-with-containers on AWSGetting-started-with-containers on AWS
Getting-started-with-containers on AWSAmazon Web Services
 
AWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS SummitAWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS SummitAmazon Web Services
 
Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28Amazon Web Services
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWSAmazon Web Services Korea
 
Serverless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up LoftServerless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up LoftAmazon Web Services
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSAmazon Web Services
 
使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計Amazon Web Services
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...Amazon Web Services Korea
 
Introducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany JerniganIntroducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany JerniganAmazon Web Services
 

Similar a Deep dive - AWS Fargate (20)

Containers - State of the Union
Containers - State of the UnionContainers - State of the Union
Containers - State of the Union
 
Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate
 
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
 
Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWS
 
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS SummitDevelop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
 
Using Containers on AWS
Using Containers on AWSUsing Containers on AWS
Using Containers on AWS
 
Deep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep DiveDeep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep Dive
 
Containers - State of the Union
Containers - State of the UnionContainers - State of the Union
Containers - State of the Union
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
 
Getting-started-with-containers on AWS
Getting-started-with-containers on AWSGetting-started-with-containers on AWS
Getting-started-with-containers on AWS
 
AWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS SummitAWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS Summit
 
Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS
 
Serverless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up LoftServerless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up Loft
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
 
使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計
 
Container Scheduling
Container SchedulingContainer Scheduling
Container Scheduling
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
 
Introducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany JerniganIntroducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany Jernigan
 

Más de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Deep dive - AWS Fargate

  • 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive: AWS Fargate Abby Fuller, Developer Relations, AWS @abbyfuller
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. First things first: who here is new to containers?
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A container is an atomic, self-contained package of software that includes everything it needs to run (code, runtime, libraries, packages, etc.). A popular, widely-used container platform is Docker. More on that here: https://www.docker.com
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Let’s talk container basics Docker pull Docker build Docker run Docker tag Docker push
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why are containers so popular? Portable Lightweight Standardized Easy to deploy Along with containers, comes the “monolith to microservices” story: containers and microservices go hand in hand (more on that in a second)
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. OK, so what are microservices? ”Service oriented architecture composed of loosely coupled elements that have bounded contexts.” - Adrian Cockroft (This is Adrian)
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why do microservices and containers go together? • One job, one service  container • Can deploy and scale containers independently • This means that a high traffic service, like a messaging service, might need to be scaled frequently, but a low traffic service, like an internal dashboard, doesn’t need to be scaled at the same time
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Running one container is easy Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Running many containers is hard…
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Enter container orchestration tools
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. To avoid doing extra hard work that we don’t have to, we use container orchestration tools
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. There are few options on AWS for container orchestration
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Today, we’re going to focus on Fargate.
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. No infrastructure Launch quickly Scale easily Manage everything at container level Resource based pricing
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. “When someone asks you for a sandwich, they aren’t asking you to put them in charge of a global sandwich logistic chain. They just want a sandwich” P.S., the sandwich is Fargate
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why Fargate?
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Remember this?
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Running one container is easy Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Running many containers is hard…
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managing a production container infrastructure can be a lot of work
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Using ECS made it easier Scheduling and Orchestration Cluster Manager Placement Engine Availability Zone #1 Availability Zone #2 Availability Zone #3
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. But it’s not totally hands off ECS AMI Docker agent ECS agent ECSTaskECSTask ECSTaskECSTask EC2 Instance ECS AMI Docker agent ECS agent EC2 Instance
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Fargate lets you focus on your application
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. “When someone asks you for a sandwich, they aren’t asking you to put them in charge of a global sandwich logistic chain. They just want a sandwich” P.S., the sandwich is Fargate
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Let’s look at that in practice
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. So you want to run a managed container on AWS 1 Choose your orchestration tool AMAZON CONTAINER SERVICES 2 Choose your launch type ECS EKS EC2 FARGATE EC2 FARGATE
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Let’s go back to EC2 mode for a second
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How do the pieces of ECS map back to traditional workloads? Instances: standard EC2 boxes. Once registered to a Cluster, your Tasks run here Services: layer that manages and places tasks Tasks: container wrapper and configuration around processes running on the instance
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. So what am I responsible for in ECS? Instance s Servi ce Tasks
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. So what am I responsible for in ECS pt 2 ? • In EC2 mode, you’re responsible for configuring all three of those pieces: instances, services, and tasks. • Instances are configured through the ecs-optimized AMI (or your own AMI), and/or you can configure with EC2 user-data • Services and Tasks (and containers) are all configured through the ECS API, which you can either access directly, or go through the CLI. Tasks are defined through Task Definitions, and Containers are defined through Container Definitions.
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How does compute work in ECS? • Choose your own instance type, with any combination of resources • Controlled through the Service ASG launch configuration, like with any other EC2 cluster. • Supports GPUs, spot instances, RIs, etc.
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Running Fargate-mode containers on ECS
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A lot of similarities with the basics of ECS Same Task Definition schema Use ECS APIs to launch Fargate Containers Easy migration – Run Fargate and EC2 launch type tasks in the same cluster Share primitives like VPC, CloudWatch, IAM with ECS
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. So what am I responsible for in Fargate mode? Instance s Servi ce Tasks
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. So what am I responsible for in Fargate mode pt 2? • In EC2 mode, you’re responsible for configuring services and tasks • Instances are not configured by you, you can ONLY configure at the container/task level • Services and Tasks (and containers) are all configured through the ECS API, which you can either access directly, or go through the CLI. Tasks are defined through Task Definitions, and Containers are defined through Container Definitions.
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How does compute work in Fargate? 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
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How do I know what to choose? Depends on your workload. Fargate: if you can configure with just a Task Definition, and you’re ok with awsvpc networking mode, try Fargate. Some caveats: can’t exec into the container, or access the underlying host (this is also a good thing) EC2 mode: good if you need to customize!
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. •Change in networking mode: "networkMode": "awsvpc” •Only specify container port, no host port: •"portMappings": [{"containerPort": ”8081"}] •No links (only local loopback) •No ELB Classic, only ALB or NLB. ALB needs to use target type IP, not instance. •Launch Type: Fargate •Windows containers only on EC2, not Fargate
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. requiresCompatibilities requiresCompatibilities parameter. "requiresCompatibilities": ["FARGATE"] You can have tasks that have multiple compatibilities: "requiresCompatibilities": ["FARGATE”, “EC2”]
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Let’s talk about networking (baby)
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Local networking On a single EC2 instance, two components could communicate via the local, loopback interface: more commonly known as `localhost` or 127.0.0.1 This bypasses networking interface and lets processes communicate directly Got it? Good.
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. External networking This covers communication with services that are not part of the same task, or to external services. This means traffic is (most likely) routed through the internet through your VPC. Tasks are launched into subnets, which define traffic rules through routing tables. • Two types of subnets: • Public: associated internet gateway • Private: no direct internet gateway, traffic is routed through NAT (Network Address Translation)
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Traditional Docker networking Bridge: docker0. This is the default behavior. Containers on the same network can communicate via IP address. No automatic service discovery. Connect containers with ---link None: no network interface, only local loopback (which I’ll explain shortly) Host: connect to host network (container maps to host)
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. awsvpc (the slightly longer version) With awsvpc, each task is allocated an ENI (Elastic Network Interface) Containers launched as part of the same task can use the local loopback interface With the ENI allocation comes a private IP. Public IPs can also be allocated (with Fargate).
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Looking for more networking details? https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/ https://aws.amazon.com/blogs/compute/introducing-cloud-native-networking-for- ecs-containers/
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. If you don’t know now you now (or FAQs)
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Q: can I have both EC2 and Fargate tasks? A: yes, you can run hybrid clusters, or switch back and forth. Tasks can be compatible with both. Q: how do I exec into a Fargate container? Short A: you don’t Longer A: if it were me, I’d stop the Fargate container and restart as type EC2 for debugging, then switch back over.
  • 48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Q: why can’t I use my own VPC with the Fargate first run wizard? A: The wizard is just for learning Fargate concepts and how it works. You absolutely can (and should) use your own VPC. Wait what? The wizard/getting started flow in Fargate will create a VPC and subnets for you. You can both a) edit the resources created through the wizard, or launch Fargate tasks into a previously created VPC through the regular console flow/the CLI.
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. I get by with a little help from my friends (CLIs)
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CLIs (that I know about) for Fargate/ECS aws-cli: the official OG. Open source, includes most AWS services. • More info here: https://aws.amazon.com/cli/ • Github here: https://github.com/aws/aws-cli ecs-cli: also official, but just for ECS. Supports docker compose files. • More info here: https://github.com/aws/amazon-ecs-cli Some good unofficial options: Fargate cli: https://github.com/jpignata/fargate Coldbrew cli: https://github.com/coldbrewcloud/coldbrew-cli
  • 51. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thanks! @abbyfuller